↑ Up

Leo-III---1.8.0.THM-Ref.s

View TPTP
Problem
Process solution in
SystemOnTSTP
Download .tgz
%------------------------------------------------------------------------------
% File     : Leo-III---1.8.0
% Problem  : SWW478+7 : TPTP v9.3.1. Released v5.3.0.
% Transfm  : none
% Format   : tptp:raw
% Command  : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39

% Computer : n013.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 : Sun Sep 27 09:10:33 AM UTC 2026

% Result   : Theorem 188.74s 152.41s
% Output   : Refutation 205.14s
% Verified : 
% SZS Type : Refutation
%            Derivation depth      :    3
%            Number of leaves      : 1184
% Syntax   : Number of formulae    : 2370 (1090 unt;   0 typ;   0 def)
%            Number of atoms       : 5220 (2052 equ;   0 cnn)
%            Maximal formula atoms :   16 (   2 avg)
%            Number of connectives : 783874 ( 783   ~;  79   |; 394   &;780241   @)
%                                         ( 108 <=>;2269  =>;   0  <=;   0 <~>)
%            Maximal formula depth :   56 (  18 avg)
%            Number of types       :    2 (   0 usr)
%            Number of type conns  :    0 (   0   >;   0   *;   0   +;   0  <<)
%            Number of symbols     :  165 ( 163 usr;  67 con; 0-4 aty)
%            Number of variables   : 11669 (   0   ^;11446   !; 223   ?;11669   :)

% Comments : 
%------------------------------------------------------------------------------
thf(hBOOL_decl,type,
    hBOOL: $i > $o ).

thf(hAPP_decl,type,
    hAPP: $i > $i > $i > $i > $i ).

thf(fun_decl,type,
    fun: $i > $i > $i ).

thf(product_prod_decl,type,
    product_prod: $i > $i > $i ).

thf(exp_decl,type,
    exp: $i > $i ).

thf(list_decl,type,
    list: $i > $i ).

thf(char_decl,type,
    char: $i ).

thf(nat_decl,type,
    nat: $i ).

thf(option_decl,type,
    option: $i > $i ).

thf(val_decl,type,
    val: $i ).

thf(bool_decl,type,
    bool: $i ).

thf(member_decl,type,
    member: $i > $i ).

thf(product_Pair_decl,type,
    product_Pair: $i > $i > $i ).

thf(ea_decl,type,
    ea: $i ).

thf(ha_decl,type,
    ha: $i ).

thf(fun_upd_decl,type,
    fun_upd: $i > $i > $i ).

thf(la_decl,type,
    la: $i ).

thf(v_1_decl,type,
    v_1: $i ).

thf(some_decl,type,
    some: $i > $i ).

thf(v_decl,type,
    v: $i ).

thf(e_a_decl,type,
    e_a: $i ).

thf(h_a_decl,type,
    h_a: $i ).

thf(l_a_decl,type,
    l_a: $i ).

thf(ty_decl,type,
    ty: $i ).

thf(red_decl,type,
    red: $i ).

thf(p_decl,type,
    p: $i ).

thf(ti_decl,type,
    ti: $i > $i > $i ).

thf(fFalse_decl,type,
    fFalse: $i ).

thf(unit_decl,type,
    unit: $i ).

thf(null_decl,type,
    null: $i ).

thf(none_decl,type,
    none: $i > $i ).

thf(bop_decl,type,
    bop: $i ).

thf(bop_rec_decl,type,
    bop_rec: $i > $i ).

thf(comp_decl,type,
    comp: $i > $i > $i > $i ).

thf(combc_decl,type,
    combc: $i > $i > $i > $i ).

thf(fTrue_decl,type,
    fTrue: $i ).

thf(nt_decl,type,
    nt: $i ).

thf(add_decl,type,
    add: $i ).

thf(c_Expr_Obop_OEq_decl,type,
    c_Expr_Obop_OEq: $i ).

thf(void_decl,type,
    void: $i ).

thf(bop_case_decl,type,
    bop_case: $i > $i ).

thf(combk_decl,type,
    combk: $i > $i > $i ).

thf(combb_decl,type,
    combb: $i > $i > $i > $i ).

thf(produc1605651328_split_decl,type,
    produc1605651328_split: $i > $i > $i > $i ).

thf(product_prod_case_decl,type,
    product_prod_case: $i > $i > $i > $i ).

thf(binOp_decl,type,
    binOp: $i > $i ).

thf(undefined_decl,type,
    undefined: $i > $i ).

thf(semilattice_sup_decl,type,
    semilattice_sup: $i > $o ).

thf(semilattice_sup_sup_decl,type,
    semilattice_sup_sup: $i > $i ).

thf(map_decl,type,
    map: $i > $i > $i ).

thf(cast_decl,type,
    cast: $i > $i ).

thf(new_decl,type,
    new: $i > $i ).

thf(tryCatch_decl,type,
    tryCatch: $i > $i ).

thf(seq_decl,type,
    seq: $i > $i ).

thf(wf_prog_decl,type,
    wf_prog: $i > $i ).

thf(is_class_decl,type,
    is_class: $i > $i ).

thf(fields_decl,type,
    fields: $i > $i ).

thf(size_size_decl,type,
    size_size: $i > $i ).

thf(transitive_trancl_decl,type,
    transitive_trancl: $i > $i ).

thf(transitive_rtrancl_decl,type,
    transitive_rtrancl: $i > $i ).

thf(list_all2_decl,type,
    list_all2: $i > $i > $i ).

thf(cons_decl,type,
    cons: $i > $i ).

thf(eval_decl,type,
    eval: $i ).

thf(val_1_decl,type,
    val_1: $i > $i ).

thf(throw_decl,type,
    throw: $i > $i ).

thf(lAss_decl,type,
    lAss: $i > $i ).

thf(fAcc_decl,type,
    fAcc: $i > $i ).

thf(while_decl,type,
    while: $i > $i ).

thf(fAss_decl,type,
    fAss: $i > $i ).

thf(redp_decl,type,
    redp: $i ).

thf(assigned_decl,type,
    assigned: $i ).

thf(block_decl,type,
    block: $i > $i ).

thf(addr_decl,type,
    addr: $i ).

thf(wTrt_decl,type,
    wTrt: $i ).

thf(fNot_decl,type,
    fNot: $i ).

thf(order_decl,type,
    order: $i > $o ).

thf(ord_less_eq_decl,type,
    ord_less_eq: $i > $i ).

thf(this_decl,type,
    this: $i ).

thf(wwf_J_mdecl_decl,type,
    wwf_J_mdecl: $i ).

thf(final_decl,type,
    final: $i > $i ).

thf(conf_decl,type,
    conf: $i > $i ).

thf(wTrts_1_decl,type,
    wTrts_1: $i ).

thf(typeof_h_decl,type,
    typeof_h: $i ).

thf(cond_decl,type,
    cond: $i > $i ).

thf(hconf_decl,type,
    hconf: $i > $i ).

thf(product_curry_decl,type,
    product_curry: $i > $i > $i > $i ).

thf(reds_decl,type,
    reds: $i ).

thf(subcls1p_decl,type,
    subcls1p: $i > $i ).

thf(class_1_decl,type,
    class_1: $i > $i ).

thf(object_decl,type,
    object: $i ).

thf(wTrt_1_decl,type,
    wTrt_1: $i ).

thf(addr_of_sys_xcpt_decl,type,
    addr_of_sys_xcpt: $i ).

thf(nullPointer_decl,type,
    nullPointer: $i ).

thf(fdisj_decl,type,
    fdisj: $i ).

thf(evals_decl,type,
    evals: $i ).

thf(call_decl,type,
    call: $i > $i ).

thf(append_decl,type,
    append: $i > $i ).

thf(fv_decl,type,
    fv: $i ).

thf(collect_decl,type,
    collect: $i > $i ).

thf(is_refT_decl,type,
    is_refT: $i ).

thf(class_decl,type,
    class: $i ).

thf(preallocated_decl,type,
    preallocated: $i ).

thf(start_heap_decl,type,
    start_heap: $i > $i ).

thf(blank_decl,type,
    blank: $i > $i ).

thf(widen_decl,type,
    widen: $i > $i ).

thf(lex_prod_decl,type,
    lex_prod: $i > $i > $i ).

thf(bool_1_decl,type,
    bool_1: $i ).

thf(has_field_decl,type,
    has_field: $i > $i ).

thf(ord_decl,type,
    ord: $i > $o ).

thf(binop_decl,type,
    binop: $i ).

thf(hp_decl,type,
    hp: $i ).

thf(subcls1_decl,type,
    subcls1: $i > $i ).

thf(preorder_decl,type,
    preorder: $i > $o ).

thf(set_decl,type,
    set: $i > $i ).

thf(is_type_decl,type,
    is_type: $i > $i ).

thf(lconf_decl,type,
    lconf: $i > $i ).

thf(method_decl,type,
    method: $i > $i ).

thf(method_1_decl,type,
    method_1: $i > $i ).

thf(typeSa1166768941_sconf_decl,type,
    typeSa1166768941_sconf: $i ).

thf(lattice_decl,type,
    lattice: $i > $o ).

thf(methods_decl,type,
    methods: $i > $i ).

thf(sees_field_decl,type,
    sees_field: $i > $i ).

thf(t_1_decl,type,
    t_1: $i ).

thf(map_add_decl,type,
    map_add: $i > $i > $i ).

thf(dom_decl,type,
    dom: $i > $i > $i ).

thf(sys_xcpts_decl,type,
    sys_xcpts: $i ).

thf(wTrts_decl,type,
    wTrts: $i ).

thf(obj_ty_decl,type,
    obj_ty: $i ).

thf(blocks_decl,type,
    blocks: $i ).

thf(oconf_decl,type,
    oconf: $i > $i ).

thf(restrict_map_decl,type,
    restrict_map: $i > $i > $i ).

thf(the_1_decl,type,
    the_1: $i > $i ).

thf(transitive_rtranclp_decl,type,
    transitive_rtranclp: $i > $i ).

thf(fequal_decl,type,
    fequal: $i > $i ).

thf(ty_case_decl,type,
    ty_case: $i > $i ).

thf(map_upds_decl,type,
    map_upds: $i > $i > $i ).

thf(override_on_decl,type,
    override_on: $i > $i > $i ).

thf(fields_1_decl,type,
    fields_1: $i > $i ).

thf(fvs_decl,type,
    fvs: $i ).

thf(the_decl,type,
    the: $i > $i ).

thf(wf_J_mdecl_decl,type,
    wf_J_mdecl: $i ).

thf(field_decl,type,
    field: $i > $i ).

thf(combs_decl,type,
    combs: $i > $i > $i > $i ).

thf(fconj_decl,type,
    fconj: $i ).

thf(new_Addr_decl,type,
    new_Addr: $i ).

thf(outOfMemory_decl,type,
    outOfMemory: $i ).

thf(option_case_decl,type,
    option_case: $i > $i > $i ).

thf(hext_decl,type,
    hext: $i ).

thf(classCast_decl,type,
    classCast: $i ).

thf(redsp_decl,type,
    redsp: $i ).

thf(product_prod_rec_decl,type,
    product_prod_rec: $i > $i > $i > $i ).

thf(wf_cdecl_decl,type,
    wf_cdecl: $i > $i ).

thf(init_fields_decl,type,
    init_fields: $i ).

thf(finals_decl,type,
    finals: $i > $i ).

thf(linorder_decl,type,
    linorder: $i > $o ).

thf(wf_mdecl_decl,type,
    wf_mdecl: $i > $i ).

thf(combi_decl,type,
    combi: $i > $i ).

thf(d_decl,type,
    d: $i > $i ).

thf(wf_fdecl_decl,type,
    wf_fdecl: $i > $i ).

thf(e_decl,type,
    e: $i ).

thf(t_decl,type,
    t: $i ).

thf(distinct_decl,type,
    distinct: $i > $i ).

thf(v_2_decl,type,
    v_2: $i ).

thf(814,axiom,
    ! [A: $i] : ( A @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_92_hext__refl) ).

thf(4188,plain,
    ! [A: $i] : ( A @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[814]) ).

thf(819,axiom,
    ! [A: $i] :
      ( ( null @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( nt @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_718_typeof__h_Osimps_I2_J) ).

thf(4201,plain,
    ! [A: $i] :
      ( ( null @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( nt @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[819]) ).

thf(883,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( E @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( val @ the @ ( val @ ( val @ option @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_167_InitBlockReds) ).

thf(4447,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( E @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( val @ the @ ( val @ ( val @ option @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[883]) ).

thf(1148,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_940_rtrancl__trancl__trancl) ).

thf(5365,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1148]) ).

thf(81,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( D @ ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
      = ( F @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_24_fun__upd__upd) ).

thf(1469,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( D @ ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
      = ( F @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[81]) ).

thf(792,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_109_exp_Osimps_I196_J) ).

thf(4101,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[792]) ).

thf(237,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_594_rtranclp__trans) ).

thf(2031,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[237]) ).

thf(133,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( F @ ( E @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_699_unfold__while) ).

thf(1633,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( F @ ( E @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[133]) ).

thf(667,axiom,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( nullPointer @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_542_typeof__NullPointer) ).

thf(3661,plain,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( nullPointer @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[667]) ).

thf(599,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_56_map__add__dom__app__simps_I3_J) ).

thf(3399,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[599]) ).

thf(679,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_640_exp_Osimps_I222_J) ).

thf(3698,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[679]) ).

thf(598,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( D @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_256_UnI1) ).

thf(3397,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( D @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[598]) ).

thf(322,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_339_FAcc) ).

thf(2331,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[322]) ).

thf(298,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( F @ ( D @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_554_WTrt_H__WTrts_H_Ointros_I17_J) ).

thf(2250,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( F @ ( D @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[298]) ).

thf(506,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_392_red__reds_OFAccRed) ).

thf(3021,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[506]) ).

thf(45,axiom,
    ! [A: $i] :
      ( ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ fAcc ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OFAcc_res) ).

thf(1322,plain,
    ! [A: $i] :
      ( ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ fAcc ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[45]) ).

thf(143,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_627_exp_Osimps_I209_J) ).

thf(1665,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[143]) ).

thf(423,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( D @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_302_fv__fvs_Osimps_I8_J) ).

thf(2744,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( D @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[423]) ).

thf(58,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_235_small__by__big) ).

thf(1369,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[58]) ).

thf(1002,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_637_exp_Osimps_I65_J) ).

thf(4835,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1002]) ).

thf(184,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_422_exp_Osimps_I115_J) ).

thf(1823,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[184]) ).

thf(971,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ~ ! [G: $i,H: $i,I: $i,J: $i,K: $i] :
          ( ( F @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( K @ ( J @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_11_prod__cases5) ).

thf(4729,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ~ ! [G: $i,H: $i,I: $i,J: $i,K: $i] :
          ( ( F @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( K @ ( J @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[971]) ).

thf(772,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_365_exp_Osimps_I211_J) ).

thf(4022,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[772]) ).

thf(22,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combb ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combb ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBB_res) ).

thf(1237,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combb ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combb ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[22]) ).

thf(1136,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [G: $i,H: $i] :
          ( ( F @ ( H @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
          & ( E @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
          & ( D
            = ( H @ ( G @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_978_confs__Cons2) ).

thf(5320,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ? [G: $i,H: $i] :
            ( ( F @ ( H @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( D
              = ( H @ ( G @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) ) ) )
       => ( F @ ( E @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( F @ ( E @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ? [G: $i,H: $i] :
            ( ( F @ ( H @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( D
              = ( H @ ( G @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1136]) ).

thf(187,axiom,
    ( ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ti ) )
    = p ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_P_res) ).

thf(1840,plain,
    ( ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ti ) )
    = p ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[187]) ).

thf(645,axiom,
    ! [A: $i] :
      ( ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ member ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_member_res) ).

thf(3581,plain,
    ! [A: $i] :
      ( ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ member ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[645]) ).

thf(43,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_437_exp_Osimps_I96_J) ).

thf(1315,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[43]) ).

thf(370,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( char @ list @ exp @ list @ size_size @ ( nat @ ( char @ list @ exp @ list @ hAPP ) ) ) )
        = ( E @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_953_WTrts__same__length) ).

thf(2499,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( char @ list @ exp @ list @ size_size @ ( nat @ ( char @ list @ exp @ list @ hAPP ) ) ) )
        = ( E @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[370]) ).

thf(386,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [G: $i,H: $i] :
          ( ( F @ ( H @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( E @ ( G @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( ( H @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
            = ( F @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
          & ( ( G @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
            = ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
          & ( D
            = ( H @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_979_list__all2__append2) ).

thf(2559,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ? [G: $i,H: $i] :
            ( ( F @ ( H @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( G @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( H @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
              = ( F @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
            & ( ( G @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
              = ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
            & ( D
              = ( H @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) )
       => ( F @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( F @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ? [G: $i,H: $i] :
            ( ( F @ ( H @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( G @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( H @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
              = ( F @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
            & ( ( G @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
              = ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
            & ( D
              = ( H @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[386]) ).

thf(769,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_182_equalityD1) ).

thf(4015,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[769]) ).

thf(219,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i,P: $i,Q: $i,R: $i,S: $i,T: $i,U: $i] :
      ( ( U @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( T @ ( S @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( R @ ( Q @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( U @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( P @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( N @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( T @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( ( S @ ( O @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ( ( J @ ( I @ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( K @ ( U @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
             => ( ( ( N @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
                  = ( H @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
               => ( ( D
                    = ( N @ ( H @ ( S @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( this @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) ) )
                 => ( ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
                   => ( ( A @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
                     => ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( P @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( R @ ( M @ ( E @ ( Q @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_919_CallRedsFinal) ).

thf(1956,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i,P: $i,Q: $i,R: $i,S: $i,T: $i,U: $i] :
      ( ( U @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( T @ ( S @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( R @ ( Q @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( U @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( P @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( N @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( T @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( ( S @ ( O @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ( ( J @ ( I @ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( K @ ( U @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
             => ( ( ( N @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
                  = ( H @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
               => ( ( D
                    = ( N @ ( H @ ( S @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( this @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) ) )
                 => ( ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
                   => ( ( A @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
                     => ( U @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( P @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( R @ ( M @ ( E @ ( Q @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[219]) ).

thf(217,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( B @ ti ) )
       != ( G @ ( B @ ti ) ) )
     => ( ( E @ ( G @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( D @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_21_fun__upd__twist) ).

thf(1950,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( B @ ti ) )
       != ( G @ ( B @ ti ) ) )
     => ( ( E @ ( G @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( D @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[217]) ).

thf(307,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_243_UnE) ).

thf(2280,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[307]) ).

thf(102,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_827_exp_Osimps_I190_J) ).

thf(1554,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[102]) ).

thf(864,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_83_map__add__upd) ).

thf(4376,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[864]) ).

thf(901,axiom,
    ( ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ti ) )
    = fvs ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Ofvs_res) ).

thf(4500,plain,
    ( ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ti ) )
    = fvs ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[901]) ).

thf(38,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ? [E: $i] : ( E @ ( B @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_776_wf__Fields__Ex) ).

thf(1290,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ? [E: $i] : ( E @ ( B @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[38]) ).

thf(604,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
        <=> ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
            = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_328_le__iff__sup) ).

thf(3417,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
              = ( C @ ( A @ ti ) ) )
           => ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
          & ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
              = ( C @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[604]) ).

thf(514,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_986_override__on__apply__in) ).

thf(3040,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[514]) ).

thf(297,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_257_UnI2) ).

thf(2248,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[297]) ).

thf(964,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_504_exp_Osimps_I68_J) ).

thf(4711,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[964]) ).

thf(336,axiom,
    ( ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ fun ) @ ti ) )
    = binop ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obinop_res) ).

thf(2380,plain,
    ( ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ fun ) @ ti ) )
    = binop ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[336]) ).

thf(897,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_124_exp_Osimps_I197_J) ).

thf(4487,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[897]) ).

thf(593,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_516_preallocated__hext) ).

thf(3382,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[593]) ).

thf(12,axiom,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fFalse_1_1_T) ).

thf(1211,plain,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[12]) ).

thf(764,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ hAPP ) ) ) )
        = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_778_fields__def2) ).

thf(3990,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ hAPP ) ) ) )
        = D ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[764]) ).

thf(1080,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ ( F @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_89_WTrtSeq) ).

thf(5141,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ ( F @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1080]) ).

thf(67,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_876_reds__preserves__hconf) ).

thf(1406,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[67]) ).

thf(257,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i,G: $i] :
            ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( F @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( A @ ti ) )
                = ( F @ ( A @ ti ) ) ) ) )
       => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_341_rtrancl__Un__separator__converseE) ).

thf(2104,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i,G: $i] :
            ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( F @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( A @ ti ) )
                = ( F @ ( A @ ti ) ) ) ) )
       => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[257]) ).

thf(293,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_761_exp_Osimps_I25_J) ).

thf(2231,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[293]) ).

thf(722,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_458_Try) ).

thf(3858,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[722]) ).

thf(443,axiom,
    ! [A: $i] :
      ( ( A @ wf_fdecl @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ wf_fdecl ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__fdecl_res) ).

thf(2808,plain,
    ! [A: $i] :
      ( ( A @ wf_fdecl @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ wf_fdecl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[443]) ).

thf(907,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i,I: $i,J: $i] : ( J @ ( I @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( H @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_12_prod__induct4) ).

thf(4515,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i,I: $i,J: $i] : ( J @ ( I @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( H @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( F @ ( bool @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[907]) ).

thf(715,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
       => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_916_sees__methods__decl__above) ).

thf(3813,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
       => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[715]) ).

thf(1129,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_475_TryRedsVal) ).

thf(5292,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1129]) ).

thf(1060,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_385_redp__redsp_OSeqThrow) ).

thf(5069,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1060]) ).

thf(247,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_607_WTrt_H__WTrts_H_Ointros_I2_J) ).

thf(2062,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[247]) ).

thf(1131,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_824_exp_Osimps_I186_J) ).

thf(5297,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1131]) ).

thf(65,axiom,
    ! [A: $i] :
      ( ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ hconf ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Ohconf_res) ).

thf(1401,plain,
    ! [A: $i] :
      ( ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ hconf ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[65]) ).

thf(1108,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_161_redp__red__eq) ).

thf(5224,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1108]) ).

thf(308,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_296_exp_Osimps_I139_J) ).

thf(2282,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[308]) ).

thf(116,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_810_exp_Osimps_I195_J) ).

thf(1591,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[116]) ).

thf(259,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_369_exp_Osimps_I203_J) ).

thf(2114,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[259]) ).

thf(450,axiom,
    ! [A: $i] :
      ( ( A @ linorder )
     => ! [B: $i,C: $i] :
          ( ~ ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_205_linorder__le__cases) ).

thf(2837,plain,
    ! [A: $i] :
      ( ( A @ linorder )
     => ! [B: $i,C: $i] :
          ( ~ ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[450]) ).

thf(33,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_750_exp_Osimps_I17_J) ).

thf(1269,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[33]) ).

thf(222,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( C @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_196_subsetI) ).

thf(1971,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( C @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[222]) ).

thf(175,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_122_exp_Osimps_I145_J) ).

thf(1793,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[175]) ).

thf(600,axiom,
    ( ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrts_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellTypeRT_OWTrts_res) ).

thf(3402,plain,
    ( ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrts_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[600]) ).

thf(455,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D != object )
       => ( E @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_704_wf__cdecl__supD) ).

thf(2854,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D != object )
       => ( E @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[455]) ).

thf(87,axiom,
    ( ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ fun ) @ ti ) )
    = fv ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Ofv_res) ).

thf(1486,plain,
    ( ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ fun ) @ ti ) )
    = fv ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[87]) ).

thf(793,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_249_Un__commute) ).

thf(4105,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[793]) ).

thf(549,axiom,
    ( ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ti ) )
    = hp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_State_Ohp_res) ).

thf(3217,plain,
    ( ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ti ) )
    = hp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[549]) ).

thf(140,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_294_exp_Osimps_I138_J) ).

thf(1655,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[140]) ).

thf(533,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) )
    <=> ? [G: $i,H: $i] :
          ( ( D
            = ( H @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) )
          & ( ( C @ ( A @ ti ) )
            = ( G @ ( E @ ( A @ ( B @ hAPP ) ) ) ) )
          & ( F
            = ( H @ ( G @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_870_Cons__eq__map__conv) ).

thf(3120,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ? [G: $i,H: $i] :
            ( ( D
              = ( H @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) )
            & ( ( C @ ( A @ ti ) )
              = ( G @ ( E @ ( A @ ( B @ hAPP ) ) ) ) )
            & ( F
              = ( H @ ( G @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) )
       => ( ( D @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) )
       => ? [G: $i,H: $i] :
            ( ( D
              = ( H @ ( E @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) )
            & ( ( C @ ( A @ ti ) )
              = ( G @ ( E @ ( A @ ( B @ hAPP ) ) ) ) )
            & ( F
              = ( H @ ( G @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[533]) ).

thf(974,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( J @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( void @ ( A @ ( E @ ( C @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_514_WTrtFAss) ).

thf(4739,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( J @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( void @ ( A @ ( E @ ( C @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[974]) ).

thf(412,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( void @ ( C @ ( B @ ( A @ ( H @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_717_WTrt_H__WTrts_H_Ointros_I11_J) ).

thf(2686,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( void @ ( C @ ( B @ ( A @ ( H @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[412]) ).

thf(768,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_762_exp_Osimps_I38_J) ).

thf(4011,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[768]) ).

thf(654,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_129_LAssRedsVal) ).

thf(3616,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[654]) ).

thf(881,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_821_exp_Osimps_I171_J) ).

thf(4440,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[881]) ).

thf(642,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( G @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_872_WTrtCons) ).

thf(3562,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( G @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[642]) ).

thf(471,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( C @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_784_sees__field__is__type) ).

thf(2901,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( C @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[471]) ).

thf(1092,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_388_red__reds_OThrowThrow) ).

thf(5178,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1092]) ).

thf(1034,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_957_widens__refl) ).

thf(4980,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1034]) ).

thf(981,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
        = ( C @ ( A @ ( B @ fun ) @ ti ) ) )
    <=> ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_25_fun__upd__idem__iff) ).

thf(4762,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( A @ ti ) ) )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ ( B @ fun ) @ ti ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ ( B @ fun ) @ ti ) ) )
       => ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[981]) ).

thf(91,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_190_rtrancl__idemp) ).

thf(1497,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[91]) ).

thf(282,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_735_red__reds_ORedNewFail) ).

thf(2195,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[282]) ).

thf(505,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_108_exp_Osimps_I143_J) ).

thf(3017,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[505]) ).

thf(163,axiom,
    ( ( sys_xcpts @ ( bool @ ( char @ list @ fun ) @ ti ) )
    = sys_xcpts ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Osys__xcpts_res) ).

thf(1756,plain,
    ( ( sys_xcpts @ ( bool @ ( char @ list @ fun ) @ ti ) )
    = sys_xcpts ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[163]) ).

thf(926,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_797_red__reds_ORedCallNull) ).

thf(4575,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[926]) ).

thf(1003,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( E = I )
        & ( D = H )
        & ( C = G )
        & ( B = F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_285_exp_Osimps_I8_J) ).

thf(4839,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( E = I )
          & ( D = H )
          & ( C = G )
          & ( B = F ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( E = I )
          & ( D = H )
          & ( C = G )
          & ( B = F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1003]) ).

thf(943,axiom,
    la @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e @ ( p @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_14_InitBlockRed_I4_J) ).

thf(4647,plain,
    la @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e @ ( p @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[943]) ).

thf(773,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( C = F )
        & ( ( B @ ( A @ ti ) )
          = ( E @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_114_exp_Osimps_I10_J) ).

thf(4026,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( C = F )
          & ( ( B @ ( A @ ti ) )
            = ( E @ ( A @ ti ) ) ) )
       => ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( C = F )
          & ( ( B @ ( A @ ti ) )
            = ( E @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[773]) ).

thf(1128,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_664_exp_Osimps_I86_J) ).

thf(5288,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1128]) ).

thf(911,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_828_redp__redsp_OCallThrowObj) ).

thf(4528,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[911]) ).

thf(540,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( G @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( E @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( G @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_954_blocksFinal) ).

thf(3175,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( G @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( E @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( G @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[540]) ).

thf(35,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_436_exp_Osimps_I213_J) ).

thf(1275,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[35]) ).

thf(266,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( C @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_162_hconfD) ).

thf(2141,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( C @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[266]) ).

thf(941,axiom,
    ! [A: $i,B: $i] :
      ( ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( p @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( ea @ ( B @ ( ha @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ? [C: $i] :
            ( ( A @ ( C @ ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( C @ ( e_a @ ( B @ ( h_a @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_7_InitBlockRed_I2_J) ).

thf(4638,plain,
    ! [A: $i,B: $i] :
      ( ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( p @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( ea @ ( B @ ( ha @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ? [C: $i] :
            ( ( A @ ( C @ ( p @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( C @ ( e_a @ ( B @ ( h_a @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[941]) ).

thf(416,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( ( C @ ( bop @ ti ) )
          = ( F @ ( bop @ ti ) ) )
        & ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_423_exp_Osimps_I4_J) ).

thf(2712,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( ( C @ ( bop @ ti ) )
            = ( F @ ( bop @ ti ) ) )
          & ( B = E ) )
       => ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( ( C @ ( bop @ ti ) )
            = ( F @ ( bop @ ti ) ) )
          & ( B = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[416]) ).

thf(677,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ produc1605651328_split ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_37_internal__split__conv) ).

thf(3693,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ produc1605651328_split ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[677]) ).

thf(923,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( A @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_598_rtranclp__rtrancl__eq) ).

thf(4564,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( A @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( A @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[923]) ).

thf(274,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ( B @ ( A @ fun ) @ ord ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Orderings_Oord) ).

thf(2168,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ( B @ ( A @ fun ) @ ord ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[274]) ).

thf(782,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( E @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( object @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ! [F: $i,G: $i] :
                ( ( F != object )
               => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
                 => ( ( G @ ( E @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                   => ( ( G @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                     => ( F @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) )
           => ( C @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_703_subcls1__induct) ).

thf(4058,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( E @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( object @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ! [F: $i,G: $i] :
                ( ( F != object )
               => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
                 => ( ( G @ ( E @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                   => ( ( G @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                     => ( F @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) )
           => ( C @ ( B @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[782]) ).

thf(562,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_746_exp_Osimps_I43_J) ).

thf(3253,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[562]) ).

thf(225,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( C @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_471_TryThrow) ).

thf(1988,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( I @ ( J @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( C @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[225]) ).

thf(165,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_749_exp_Osimps_I26_J) ).

thf(1761,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[165]) ).

thf(617,axiom,
    ! [A: $i] :
      ( null
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_616_val_Osimps_I12_J) ).

thf(3481,plain,
    ! [A: $i] :
      ( null
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[617]) ).

thf(732,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_575_FAssNull) ).

thf(3895,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[732]) ).

thf(1097,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_287_rtrancl__Un__rtrancl) ).

thf(5192,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1097]) ).

thf(589,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ wf_fdecl @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) )
      = ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ ( bool @ ( ty @ fun ) @ combk ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_724_wf__fdecl__def) ).

thf(3370,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ wf_fdecl @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) )
      = ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ ( bool @ ( ty @ fun ) @ combk ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[589]) ).

thf(778,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_add ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Omap__add_res) ).

thf(4047,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_add ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[778]) ).

thf(625,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_346_exp_Osimps_I167_J) ).

thf(3502,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[625]) ).

thf(561,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_366_exp_Osimps_I181_J) ).

thf(3249,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[561]) ).

thf(136,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_654_WhileF) ).

thf(1645,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[136]) ).

thf(803,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i,H: $i] : ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( F @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( E @ ( bool @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( E @ ( bool @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_30_prod__induct3) ).

thf(4137,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i,H: $i] : ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( F @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( E @ ( bool @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( E @ ( bool @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[803]) ).

thf(459,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_50_prod__caseI) ).

thf(2869,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[459]) ).

thf(856,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) ) )
     => ~ ( ( ( C @ ( B @ ti ) )
            = ( E @ ( B @ ti ) ) )
         => ( ( D @ ( A @ ti ) )
           != ( F @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_15_Pair__inject) ).

thf(4343,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) ) )
     => ~ ( ( ( C @ ( B @ ti ) )
            = ( E @ ( B @ ti ) ) )
         => ( ( D @ ( A @ ti ) )
           != ( F @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[856]) ).

thf(557,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ ( B @ ( D @ comp ) ) @ ( B @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( B @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
      = ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ comp ) ) @ ( C @ ( D @ fun ) @ ( B @ ( D @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ fun ) @ ( B @ ( D @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_997_o__assoc) ).

thf(3236,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ ( B @ ( D @ comp ) ) @ ( B @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( B @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
      = ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ comp ) ) @ ( C @ ( D @ fun ) @ ( B @ ( D @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ fun ) @ ( B @ ( D @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[557]) ).

thf(328,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_99_hext__upd__obj) ).

thf(2348,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[328]) ).

thf(584,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_117_exp_Osimps_I85_J) ).

thf(3350,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[584]) ).

thf(1153,axiom,
    ! [A: $i] :
      ( ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ lconf ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Olconf_res) ).

thf(5393,plain,
    ! [A: $i] :
      ( ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ lconf ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1153]) ).

thf(367,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( char @ list @ finals @ ( bool @ ( char @ list @ exp @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( C @ ( B @ ( C @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_866_eval__finalsId) ).

thf(2491,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( char @ list @ finals @ ( bool @ ( char @ list @ exp @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( C @ ( B @ ( C @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[367]) ).

thf(24,axiom,
    ! [A: $i] :
      ( ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ binOp ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OBinOp_res) ).

thf(1243,plain,
    ! [A: $i] :
      ( ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ binOp ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[24]) ).

thf(900,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_755_exp_Osimps_I33_J) ).

thf(4496,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[900]) ).

thf(291,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ! [I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] : ( N @ ( M @ ( F @ ( E @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( F @ fun ) @ ( E @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( F @ hAPP ) ) ) @ ( L @ ( F @ ( E @ product_prod ) @ ( D @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ fun ) @ ( D @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ hAPP ) ) ) @ ( K @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ hAPP ) ) ) @ ( J @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( I @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( H @ ( bool @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( H @ ( bool @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_8_prod__induct6) ).

thf(2227,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ! [I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] : ( N @ ( M @ ( F @ ( E @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( F @ fun ) @ ( E @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( F @ hAPP ) ) ) @ ( L @ ( F @ ( E @ product_prod ) @ ( D @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ fun ) @ ( D @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ hAPP ) ) ) @ ( K @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ hAPP ) ) ) @ ( J @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( I @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( H @ ( bool @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( H @ ( bool @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[291]) ).

thf(234,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_183_equalityD2) ).

thf(2020,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[234]) ).

thf(628,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_479_preallocated__new) ).

thf(3513,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[628]) ).

thf(1098,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( c_Expr_Obop_OEq @ ( C @ ( B @ ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_789_bop_Orecs_I1_J) ).

thf(5195,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( c_Expr_Obop_OEq @ ( C @ ( B @ ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1098]) ).

thf(571,axiom,
    ( ( l_a @ ( val @ option @ ( char @ list @ fun ) @ ti ) )
    = l_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_l_Ha_____res) ).

thf(3281,plain,
    ( ( l_a @ ( val @ option @ ( char @ list @ fun ) @ ti ) )
    = l_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[571]) ).

thf(1132,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_800_exp_Osimps_I31_J) ).

thf(5301,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1132]) ).

thf(818,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
      | ( ( B @ ( A @ ti ) )
       != ( C @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fequal_2_1_T) ).

thf(4198,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
      | ( ( B @ ( A @ ti ) )
       != ( C @ ( A @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[818]) ).

thf(252,axiom,
    ! [A: $i] :
      ( ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ fields_1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Ofields_res) ).

thf(2082,plain,
    ! [A: $i] :
      ( ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ fields_1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[252]) ).

thf(713,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_163_redp__redsp_ORedInitBlock) ).

thf(3809,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[713]) ).

thf(276,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ ti ) )
        = ( C @ ( A @ ti ) ) )
      | ~ ( C @ ( B @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fequal_1_1_T) ).

thf(2173,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ ti ) )
        = ( C @ ( A @ ti ) ) )
      | ~ ( C @ ( B @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[276]) ).

thf(934,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( H @ ( A @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( F @ ( A @ ( E @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_241_Seq) ).

thf(4607,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( H @ ( A @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( F @ ( A @ ( E @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[934]) ).

thf(980,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_370_red__reds_OFAccThrow) ).

thf(4760,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[980]) ).

thf(447,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i] :
          ( ( E @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) )
            = ( F @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) )
     => ( ( E @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_911_map__ext) ).

thf(2825,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i] :
          ( ( E @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) )
            = ( F @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) )
     => ( ( E @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[447]) ).

thf(205,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i,F: $i] :
          ( ( ( D @ ( B @ ( A @ product_prod ) @ ti ) )
            = ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
         => ( F @ ( E @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_88_splitI2) ).

thf(1904,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i,F: $i] :
          ( ( ( D @ ( B @ ( A @ product_prod ) @ ti ) )
            = ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
         => ( F @ ( E @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[205]) ).

thf(154,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_429_exp_Osimps_I92_J) ).

thf(1703,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[154]) ).

thf(1025,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_667_exp_Osimps_I217_J) ).

thf(4948,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1025]) ).

thf(345,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_804_exp_Osimps_I80_J) ).

thf(2405,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[345]) ).

thf(905,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( A @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_653_WhileBodyThrow) ).

thf(4511,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( A @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[905]) ).

thf(1142,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_833_CallRedsNull) ).

thf(5342,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1142]) ).

thf(730,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_513_widen__subcls) ).

thf(3891,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[730]) ).

thf(156,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
    <=> ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
          & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) ) )
        | ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_156_map__add__Some__iff) ).

thf(1709,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
            & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( B @ none ) ) )
          | ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
       => ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
            & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( B @ none ) ) )
          | ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[156]) ).

thf(910,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_452_exp_Osimps_I98_J) ).

thf(4524,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[910]) ).

thf(605,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) ) )
    <=> ( ( ( D @ ( A @ ti ) )
          = ( F @ ( A @ ti ) ) )
        & ( ( C @ ( B @ ti ) )
          = ( E @ ( B @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_16_Pair__eq) ).

thf(3425,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( ( D @ ( A @ ti ) )
            = ( F @ ( A @ ti ) ) )
          & ( ( C @ ( B @ ti ) )
            = ( E @ ( B @ ti ) ) ) )
       => ( ( D @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) ) )
       => ( ( ( D @ ( A @ ti ) )
            = ( F @ ( A @ ti ) ) )
          & ( ( C @ ( B @ ti ) )
            = ( E @ ( B @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[605]) ).

thf(874,axiom,
    bool @ lattice,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Lattices_Olattice) ).

thf(4422,plain,
    bool @ lattice,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[874]) ).

thf(569,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ~ ! [H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
          ( ( G @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( M @ ( L @ ( F @ ( E @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( F @ fun ) @ ( E @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( F @ hAPP ) ) ) @ ( K @ ( F @ ( E @ product_prod ) @ ( D @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ fun ) @ ( D @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ hAPP ) ) ) @ ( J @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_9_prod__cases6) ).

thf(3275,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ~ ! [H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
          ( ( G @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( M @ ( L @ ( F @ ( E @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( F @ fun ) @ ( E @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( F @ hAPP ) ) ) @ ( K @ ( F @ ( E @ product_prod ) @ ( D @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ fun ) @ ( D @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( F @ ( E @ product_prod ) @ hAPP ) ) ) @ ( J @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( F @ ( E @ product_prod ) @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[569]) ).

thf(808,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_383_eval__evals_OLAssThrow) ).

thf(4151,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[808]) ).

thf(676,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_815_exp_Osimps_I56_J) ).

thf(3689,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[676]) ).

thf(303,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_625_WhileFReds) ).

thf(2269,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[303]) ).

thf(623,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A
          = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
       => ( A @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_236_LAss) ).

thf(3495,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A
          = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
       => ( A @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[623]) ).

thf(196,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
          = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_591_rtranclp__subset) ).

thf(1871,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
          = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[196]) ).

thf(521,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
     => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_860_red__reds_OCallThrowParams) ).

thf(3061,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
     => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[521]) ).

thf(618,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_921_trancl_Or__into__trancl) ).

thf(3485,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[618]) ).

thf(704,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_476_red__reds_ORedTryFail) ).

thf(3776,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[704]) ).

thf(1083,axiom,
    ( ( e @ ( ty @ option @ ( char @ list @ fun ) @ ti ) )
    = e ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_E_____res) ).

thf(5150,plain,
    ( ( e @ ( ty @ option @ ( char @ list @ fun ) @ ti ) )
    = e ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1083]) ).

thf(527,axiom,
    ! [A: $i] :
      ( ( A @ distinct @ ( bool @ ( A @ list @ fun ) @ ti ) )
      = ( A @ distinct ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Odistinct_res) ).

thf(3089,plain,
    ! [A: $i] :
      ( ( A @ distinct @ ( bool @ ( A @ list @ fun ) @ ti ) )
      = ( A @ distinct ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[527]) ).

thf(1036,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_632_exp_Osimps_I200_J) ).

thf(4984,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1036]) ).

thf(515,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_805_exp_Osimps_I81_J) ).

thf(3043,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[515]) ).

thf(683,axiom,
    ! [A: $i] :
      ( ( null @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_571_binop_Osimps_I8_J) ).

thf(3713,plain,
    ! [A: $i] :
      ( ( null @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[683]) ).

thf(1125,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( K @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( C @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_419_TryRedsFail) ).

thf(5279,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( K @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( C @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1125]) ).

thf(565,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( fdisj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ combs ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_248_Un__def) ).

thf(3263,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( fdisj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ combs ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[565]) ).

thf(551,axiom,
    ( ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrts ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Progress_OWTrts_H_res) ).

thf(3221,plain,
    ( ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrts ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[551]) ).

thf(917,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_425_redp__redsp_OBinOpRed1) ).

thf(4546,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[917]) ).

thf(509,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i] :
          ( ( F @ ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_152_map__upd__nonempty) ).

thf(3029,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i] :
          ( ( F @ ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[509]) ).

thf(976,axiom,
    ! [A: $i] :
      ( ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ cons ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Olist_OCons_res) ).

thf(4743,plain,
    ! [A: $i] :
      ( ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ cons ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[976]) ).

thf(1095,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_184_in__mono) ).

thf(5188,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1095]) ).

thf(718,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( I @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [J: $i] :
                  ( ( F @ ( J @ ( E @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                 => ! [K: $i] :
                      ( ( K @ ( G @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                     => ~ ( J @ ( K @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [I: $i] :
                  ~ ( I @ ( G @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_721_WTrt__elim__cases_I8_J) ).

thf(3821,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H = void )
         => ! [I: $i] :
              ( ( I @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [J: $i] :
                  ( ( F @ ( J @ ( E @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
                 => ! [K: $i] :
                      ( ( K @ ( G @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                     => ~ ( J @ ( K @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) )
       => ~ ( ( H = void )
           => ( ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ! [I: $i] :
                  ~ ( I @ ( G @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[718]) ).

thf(31,axiom,
    ( ( add @ ( bop @ ti ) )
    = add ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_OAdd_res) ).

thf(1264,plain,
    ( ( add @ ( bop @ ti ) )
    = add ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[31]) ).

thf(288,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_360_exp_Osimps_I77_J) ).

thf(2217,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[288]) ).

thf(801,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( F @ ( D @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_925_fun__upds__append__drop) ).

thf(4130,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( F @ ( D @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[801]) ).

thf(635,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_262_Un__upper1) ).

thf(3542,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[635]) ).

thf(36,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) )
        = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_5_map__upd__triv) ).

thf(1279,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) )
        = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[36]) ).

thf(857,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_71_red__reds_OInitBlockRed) ).

thf(4349,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[857]) ).

thf(1085,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( C @ ( E @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( D @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_282_sup__mono) ).

thf(5160,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( C @ ( E @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( D @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1085]) ).

thf(76,axiom,
    ( ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fdisj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fdisj_res) ).

thf(1455,plain,
    ( ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fdisj ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[76]) ).

thf(711,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( E @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_788_map__append) ).

thf(3803,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( E @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[711]) ).

thf(262,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_816_exp_Osimps_I102_J) ).

thf(2126,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[262]) ).

thf(797,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_682_exp_Osimps_I146_J) ).

thf(4119,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[797]) ).

thf(1105,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ restrict_map ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ restrict_map ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Orestrict__map_res) ).

thf(5214,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ restrict_map ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ restrict_map ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1105]) ).

thf(123,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_862_ListRedsVal) ).

thf(1609,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[123]) ).

thf(1000,axiom,
    ! [A: $i] :
      ( ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ is_type ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__type_res) ).

thf(4830,plain,
    ! [A: $i] :
      ( ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ is_type ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1000]) ).

thf(108,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
     != C ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_848_not__Cons__self2) ).

thf(1568,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
     != C ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[108]) ).

thf(271,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( B @ ( F @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_898_wf__J__prog__wf__J__mdecl) ).

thf(2158,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( B @ ( F @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[271]) ).

thf(939,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_377_exp_Osimps_I159_J) ).

thf(4632,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[939]) ).

thf(498,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_143_redp__redsp_OSeqRed) ).

thf(2989,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[498]) ).

thf(767,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( E @ ( B @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_23_fun__upd__same) ).

thf(4008,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( E @ ( B @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[767]) ).

thf(177,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_237_Block) ).

thf(1800,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[177]) ).

thf(1140,axiom,
    ( ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = eval ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Oeval_res) ).

thf(5338,plain,
    ( ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = eval ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1140]) ).

thf(201,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_176_rtrancl__mono) ).

thf(1892,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[201]) ).

thf(1146,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
        = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
    <=> ( A = B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_606_ty_Oinject) ).

thf(5355,plain,
    ! [A: $i,B: $i] :
      ( ( ( A = B )
       => ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
      & ( ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
       => ( A = B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1146]) ).

thf(60,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_91_red__reds_ORedLAss) ).

thf(1379,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( A @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[60]) ).

thf(344,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_895_has__fields__decl__above) ).

thf(2403,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[344]) ).

thf(93,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_993_map__map) ).

thf(1514,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[93]) ).

thf(243,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_493_exp_Osimps_I50_J) ).

thf(2049,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[243]) ).

thf(383,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] : ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_325_sup__ge1) ).

thf(2552,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] : ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[383]) ).

thf(44,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_308_sup__commute) ).

thf(1319,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[44]) ).

thf(200,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ preorder )
     => ( B @ ( A @ fun ) @ preorder ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Orderings_Opreorder) ).

thf(1890,plain,
    ! [A: $i,B: $i] :
      ( ( B @ preorder )
     => ( B @ ( A @ fun ) @ preorder ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[200]) ).

thf(334,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_447_exp_Osimps_I205_J) ).

thf(2373,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[334]) ).

thf(109,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_85_curry__conv) ).

thf(1572,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[109]) ).

thf(1054,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_74_map__add__find__right) ).

thf(5052,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1054]) ).

thf(612,axiom,
    ! [A: $i] :
      ( ( A @ final @ ( bool @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ final ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Ofinal_res) ).

thf(3470,plain,
    ! [A: $i] :
      ( ( A @ final @ ( bool @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ final ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[612]) ).

thf(690,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_135_rev__predicate1D) ).

thf(3734,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[690]) ).

thf(862,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_198_converse__rtrancl__induct2) ).

thf(4368,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[862]) ).

thf(805,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C != object )
       => ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_726_subcls1p_Ointros) ).

thf(4141,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C != object )
       => ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[805]) ).

thf(1026,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ? [F: $i] :
          ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
          & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
            = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_536_conf__def) ).

thf(4952,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ? [F: $i] :
            ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
              = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) )
       => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i] :
            ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
              = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1026]) ).

thf(835,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_736_WTrtNew) ).

thf(4265,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ ( C @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[835]) ).

thf(169,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( D
            = ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ( E != C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_271_eval__cases_I2_J) ).

thf(1773,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( D
            = ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ( E != C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[169]) ).

thf(989,axiom,
    ! [A: $i] :
      ( ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ conf ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Oconf_res) ).

thf(4793,plain,
    ! [A: $i] :
      ( ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ conf ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[989]) ).

thf(904,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_443_exp_Osimps_I100_J) ).

thf(4507,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[904]) ).

thf(454,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_186_set__mp) ).

thf(2852,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[454]) ).

thf(555,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_927_rtrancl__trancl__absorb) ).

thf(3231,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[555]) ).

thf(746,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( add @ ( C @ ( B @ ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( C @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_796_bop_Orecs_I2_J) ).

thf(3934,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( add @ ( C @ ( B @ ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( C @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[746]) ).

thf(995,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_508_WTrtFAcc) ).

thf(4815,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[995]) ).

thf(759,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_820_exp_Osimps_I170_J) ).

thf(3973,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[759]) ).

thf(378,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( C @ ( B @ ( A @ fun ) @ semilattice_sup_sup @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ semilattice_sup_sup @ ( B @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_278_sup__apply) ).

thf(2540,plain,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( C @ ( B @ ( A @ fun ) @ semilattice_sup_sup @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ semilattice_sup_sup @ ( B @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[378]) ).

thf(986,axiom,
    ! [A: $i] :
      ( ( A @ new @ ( A @ exp @ ( char @ list @ fun ) @ ti ) )
      = ( A @ new ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_Onew_res) ).

thf(4783,plain,
    ! [A: $i] :
      ( ( A @ new @ ( A @ exp @ ( char @ list @ fun ) @ ti ) )
      = ( A @ new ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[986]) ).

thf(720,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( fdisj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ combs ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_258_Collect__disj__eq) ).

thf(3851,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( fdisj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ combs ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[720]) ).

thf(360,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_348_exp_Osimps_I14_J) ).

thf(2456,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[360]) ).

thf(231,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_426_redp__redsp_OTryRed) ).

thf(2007,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[231]) ).

thf(1037,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_316_inf__sup__aci_I6_J) ).

thf(4988,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1037]) ).

thf(1164,axiom,
    ( ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = hext ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Ohext_res) ).

thf(5433,plain,
    ( ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = hext ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1164]) ).

thf(729,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_807_exp_Osimps_I193_J) ).

thf(3887,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[729]) ).

thf(929,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ fun ) @ ti ) )
        = ( D @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_75_ext) ).

thf(4583,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ fun ) @ ti ) )
        = ( D @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[929]) ).

thf(236,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_497_exp_Osimps_I58_J) ).

thf(2027,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[236]) ).

thf(1012,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) )
        = ( G @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( F @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) ) )
     => ( ( E @ ( A @ ti ) )
        = ( G @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_6_map__upd__eqD1) ).

thf(4903,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) )
        = ( G @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( F @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) ) )
     => ( ( E @ ( A @ ti ) )
        = ( G @ ( A @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1012]) ).

thf(785,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( G @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_976_WTrt_H__WTrts_H_Ointros_I15_J) ).

thf(4072,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( G @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[785]) ).

thf(770,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_596_converse__rtranclp__into__rtranclp) ).

thf(4018,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[770]) ).

thf(596,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_570_CastRedsNull) ).

thf(3393,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[596]) ).

thf(1006,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_445_exp_Osimps_I182_J) ).

thf(4857,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1006]) ).

thf(687,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_157_SeqReds) ).

thf(3724,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[687]) ).

thf(207,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = F )
     => ( ( B
          = ( C @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_794_append__eq__appendI) ).

thf(1911,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = F )
     => ( ( B
          = ( C @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[207]) ).

thf(434,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_944_r__r__into__trancl) ).

thf(2782,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[434]) ).

thf(468,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_486_fv__fvs_Osimps_I2_J) ).

thf(2893,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[468]) ).

thf(363,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_356_redp__redsp_OFAccRed) ).

thf(2469,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[363]) ).

thf(300,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_769_NewFail) ).

thf(2259,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[300]) ).

thf(670,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_577_redp__redsp_ORedFAssNull) ).

thf(3670,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[670]) ).

thf(972,axiom,
    ! [A: $i] :
      ( ( A @ ord )
     => ! [B: $i,C: $i,D: $i] :
          ( ( C = D )
         => ( ( B @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_213_ord__eq__le__trans) ).

thf(4733,plain,
    ! [A: $i] :
      ( ( A @ ord )
     => ! [B: $i,C: $i,D: $i] :
          ( ( C = D )
         => ( ( B @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[972]) ).

thf(613,axiom,
    bool @ preorder,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Opreorder) ).

thf(3473,plain,
    bool @ preorder,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[613]) ).

thf(680,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_678_exp_Osimps_I198_J) ).

thf(3702,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[680]) ).

thf(193,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ~ ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_281_le__supE) ).

thf(1858,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ~ ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[193]) ).

thf(807,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_662_exp_Osimps_I215_J) ).

thf(4147,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[807]) ).

thf(779,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ combk ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( C @ ( B @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBK_1_1_U) ).

thf(4050,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ combk ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( C @ ( B @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[779]) ).

thf(261,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_631_exp_Osimps_I178_J) ).

thf(2122,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[261]) ).

thf(220,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E != null )
     => ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i,G: $i,H: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( F @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( E
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_584_non__npD) ).

thf(1960,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E != null )
     => ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i,G: $i,H: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( F @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( E
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[220]) ).

thf(575,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ fun_upd ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ofun__upd_res) ).

thf(3290,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ fun_upd ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[575]) ).

thf(112,axiom,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i] : ( B @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_202_order__refl) ).

thf(1581,plain,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i] : ( B @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[112]) ).

thf(956,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_32_prod_Orecs) ).

thf(4686,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[956]) ).

thf(920,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_561_red__reds_ORedFAccNull) ).

thf(4556,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[920]) ).

thf(1119,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_430_exp_Osimps_I70_J) ).

thf(5259,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1119]) ).

thf(1057,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_643_exp_Osimps_I221_J) ).

thf(5059,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1057]) ).

thf(763,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_490_exp_Osimps_I67_J) ).

thf(3986,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[763]) ).

thf(1104,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_347_exp_Osimps_I166_J) ).

thf(5210,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1104]) ).

thf(1068,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_459_redp__redsp_ORedTry) ).

thf(5096,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1068]) ).

thf(365,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_672_exp_Osimps_I163_J) ).

thf(2483,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[365]) ).

thf(675,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_741_exp_Osimps_I19_J) ).

thf(3685,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[675]) ).

thf(538,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [E: $i,F: $i,G: $i] :
          ( ( E != object )
          & ( ( E @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
          & ( C = F )
          & ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_729_subcls1_Osimps) ).

thf(3157,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ? [E: $i,F: $i,G: $i] :
            ( ( E != object )
            & ( ( E @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( C = F )
            & ( B = E ) )
       => ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [E: $i,F: $i,G: $i] :
            ( ( E != object )
            & ( ( E @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( C = F )
            & ( B = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[538]) ).

thf(425,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_136_predicate1D) ).

thf(2750,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[425]) ).

thf(8,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combc ) ) @ ( C @ ( A @ fun ) @ ( B @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combc ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBC_res) ).

thf(1201,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combc ) ) @ ( C @ ( A @ fun ) @ ( B @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combc ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[8]) ).

thf(490,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( F @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_52_conf__hext) ).

thf(2965,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( F @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[490]) ).

thf(119,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ method_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_910_method__def2) ).

thf(1600,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ method_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[119]) ).

thf(465,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Oprod_Oprod__case_res) ).

thf(2884,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[465]) ).

thf(966,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_595_rtranclp_Ortrancl__into__rtrancl) ).

thf(4718,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[966]) ).

thf(947,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] : ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_327_sup__ge2) ).

thf(4660,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] : ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[947]) ).

thf(781,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_527_red__reds_ORedBinOp) ).

thf(4055,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[781]) ).

thf(828,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_134_lconf__empty) ).

thf(4230,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[828]) ).

thf(1020,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_61_curry__split) ).

thf(4935,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1020]) ).

thf(1170,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_655_WhileRedsThrow) ).

thf(5448,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1170]) ).

thf(1145,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( B @ ( C @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_461_has__field__mono) ).

thf(5353,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( B @ ( C @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1145]) ).

thf(1156,axiom,
    bool @ semilattice_sup,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Lattices_Osemilattice__sup) ).

thf(5401,plain,
    bool @ semilattice_sup,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1156]) ).

thf(543,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) )
    <=> ? [G: $i,H: $i] :
          ( ( ( H @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
            = F )
          & ( ( G @ ( C @ ( B @ ( A @ hAPP ) ) ) )
            = ( E @ ( B @ ti ) ) )
          & ( D
            = ( H @ ( G @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_869_map__eq__Cons__conv) ).

thf(3189,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ? [G: $i,H: $i] :
            ( ( ( H @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
              = F )
            & ( ( G @ ( C @ ( B @ ( A @ hAPP ) ) ) )
              = ( E @ ( B @ ti ) ) )
            & ( D
              = ( H @ ( G @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
       => ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) )
       => ? [G: $i,H: $i] :
            ( ( ( H @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
              = F )
            & ( ( G @ ( C @ ( B @ ( A @ hAPP ) ) ) )
              = ( E @ ( B @ ti ) ) )
            & ( D
              = ( H @ ( G @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[543]) ).

thf(352,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_566_CastNull) ).

thf(2424,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[352]) ).

thf(333,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_319_FAssReds1) ).

thf(2371,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[333]) ).

thf(672,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_391_eval__evals_OFAssThrow2) ).

thf(3676,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[672]) ).

thf(265,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_757_exp_Osimps_I28_J) ).

thf(2137,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[265]) ).

thf(914,axiom,
    ! [A: $i] :
      ( ( A @ linorder )
     => ! [B: $i,C: $i] :
          ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          | ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_217_linorder__linear) ).

thf(4536,plain,
    ! [A: $i] :
      ( ( A @ linorder )
     => ! [B: $i,C: $i] :
          ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          | ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[914]) ).

thf(752,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_798_redp__redsp_ORedCallNull) ).

thf(3955,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[752]) ).

thf(440,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( ( C @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_212_xt1_I3_J) ).

thf(2799,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( ( C @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[440]) ).

thf(309,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_119_exp_Osimps_I82_J) ).

thf(2286,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[309]) ).

thf(774,axiom,
    bool @ ord,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Oord) ).

thf(4038,plain,
    bool @ ord,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[774]) ).

thf(581,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i,F: $i] :
          ( ( D @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
        <=> ( C @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
    <=> ( ( D @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) )
        = ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_33_pred__equals__eq2) ).

thf(3327,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( D @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) )
          = ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) )
       => ! [E: $i,F: $i] :
            ( ( ( C @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( D @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
            & ( ( D @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( C @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) )
      & ( ! [E: $i,F: $i] :
            ( ( ( C @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( D @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
            & ( ( D @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( C @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ( ( D @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) )
          = ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[581]) ).

thf(961,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
        | ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_888_set__ConsD) ).

thf(4701,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
        | ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[961]) ).

thf(648,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_840_evals__lcl__incr) ).

thf(3588,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[648]) ).

thf(865,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
          & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) ) )
        | ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_155_map__add__SomeD) ).

thf(4379,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
          & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) ) )
        | ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( F @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[865]) ).

thf(340,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_975_WTrt_H__WTrts_H_Ointros_I13_J) ).

thf(2392,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[340]) ).

thf(736,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( D @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( A @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_291_restrict__out) ).

thf(3906,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( D @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( A @ none ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[736]) ).

thf(223,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
      <=> ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
          & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_228_big__iff__small) ).

thf(1975,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
         => ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
        & ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
            & ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[223]) ).

thf(787,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( A @ none @ ( D @ ( C @ ( A @ ( B @ option_case ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ option @ hAPP ) ) ) )
      = ( C @ ( B @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_552_option_Osimps_I4_J) ).

thf(4082,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( A @ none @ ( D @ ( C @ ( A @ ( B @ option_case ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ option @ hAPP ) ) ) )
      = ( C @ ( B @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[787]) ).

thf(895,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_401_FAccReds) ).

thf(4483,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[895]) ).

thf(429,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_696_CondRedsThrow) ).

thf(2762,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[429]) ).

thf(592,axiom,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i,C: $i] :
          ( ( B = C )
         => ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_215_order__eq__refl) ).

thf(3378,plain,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i,C: $i] :
          ( ( B = C )
         => ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[592]) ).

thf(606,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_829_red__reds_OCallObj) ).

thf(3435,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[606]) ).

thf(478,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_882_redp__redsp_OCallParams) ).

thf(2922,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[478]) ).

thf(685,axiom,
    ( ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = redsp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oredsp_res) ).

thf(3720,plain,
    ( ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = redsp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[685]) ).

thf(894,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( B @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) @ ( class @ ( ty @ some @ ( char @ list @ ( ty @ option @ ( ty @ combb ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ option @ combk ) @ ( char @ list @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ combb ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod_case ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ none @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( ty @ option @ option_case ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_543_typeof__h_Osimps_I5_J) ).

thf(4480,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( B @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) @ ( class @ ( ty @ some @ ( char @ list @ ( ty @ option @ ( ty @ combb ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ option @ combk ) @ ( char @ list @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ combb ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod_case ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ none @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( ty @ option @ option_case ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[894]) ).

thf(1043,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_500_exp_Osimps_I46_J) ).

thf(5017,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1043]) ).

thf(1166,axiom,
    ! [A: $i,B: $i] : ( B @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_180_subset__refl) ).

thf(5438,plain,
    ! [A: $i,B: $i] : ( B @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1166]) ).

thf(1048,axiom,
    ! [A: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_615_val_Osimps_I7_J) ).

thf(5034,plain,
    ! [A: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1048]) ).

thf(208,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ ( A @ product_curry ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_45_curryI) ).

thf(1915,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ ( A @ product_curry ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[208]) ).

thf(171,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_657_WhileTRedsThrow) ).

thf(1783,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[171]) ).

thf(1014,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_687_fv__fvs_Osimps_I12_J) ).

thf(4910,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1014]) ).

thf(1077,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_743_exp_Osimps_I41_J) ).

thf(5122,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1077]) ).

thf(487,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
        <=> ! [E: $i] : ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_220_le__fun__def) ).

thf(2954,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i] :
          ( ( ! [E: $i] : ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( C @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
          & ( ( D @ ( C @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ! [E: $i] : ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[487]) ).

thf(139,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_498_exp_Osimps_I59_J) ).

thf(1651,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[139]) ).

thf(1004,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( E @ ( B @ ( A @ hAPP ) ) ) @ ( C @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_219_le__funD) ).

thf(4853,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( E @ ( B @ ( A @ hAPP ) ) ) @ ( C @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1004]) ).

thf(554,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_463_eval__evals_OBinOpThrow2) ).

thf(3229,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[554]) ).

thf(503,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ order )
     => ( B @ ( A @ fun ) @ order ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Orderings_Oorder) ).

thf(3011,plain,
    ! [A: $i,B: $i] :
      ( ( B @ order )
     => ( B @ ( A @ fun ) @ order ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[503]) ).

thf(10,axiom,
    ( ( nt @ ( ty @ ti ) )
    = nt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_ONT_res) ).

thf(1206,plain,
    ( ( nt @ ( ty @ ti ) )
    = nt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[10]) ).

thf(931,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_320_FAssReds2) ).

thf(4589,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[931]) ).

thf(869,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( D @ ( B @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_78_split__eta) ).

thf(4407,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( D @ ( B @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[869]) ).

thf(938,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_770_redp__redsp_ORedNewFail) ).

thf(4629,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( nat @ none ) )
     => ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[938]) ).

thf(1168,axiom,
    ! [A: $i,B: $i,C: $i] : ( B @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_889_set__subset__Cons) ).

thf(5443,plain,
    ! [A: $i,B: $i,C: $i] : ( B @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1168]) ).

thf(331,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_345_sup2I2) ).

thf(2364,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[331]) ).

thf(273,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_666_exp_Osimps_I216_J) ).

thf(2164,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[273]) ).

thf(1088,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_72_prod_Osimps_I2_J) ).

thf(5167,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1088]) ).

thf(260,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_751_exp_Osimps_I16_J) ).

thf(2118,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[260]) ).

thf(701,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_581_red__reds_ORedFAssNull) ).

thf(3767,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[701]) ).

thf(315,axiom,
    ! [A: $i] :
      ( ( unit @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( void @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_537_typeof__h_Osimps_I1_J) ).

thf(2307,plain,
    ! [A: $i] :
      ( ( unit @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
      = ( void @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[315]) ).

thf(369,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Omap_res) ).

thf(2496,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[369]) ).

thf(848,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_298_exp_Osimps_I172_J) ).

thf(4312,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[848]) ).

thf(167,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_973_wts__wts_H) ).

thf(1768,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[167]) ).

thf(1139,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
     != ( A @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_139_option_Osimps_I3_J) ).

thf(5334,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
     != ( A @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1139]) ).

thf(337,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_518_red__reds_ORedCast) ).

thf(2382,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[337]) ).

thf(638,axiom,
    ! [A: $i] :
      ( ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ ty_case ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_Oty__case_res) ).

thf(3550,plain,
    ! [A: $i] :
      ( ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ ty_case ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[638]) ).

thf(229,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_674_exp_Osimps_I62_J) ).

thf(2000,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[229]) ).

thf(158,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_488_exp_Osimps_I44_J) ).

thf(1730,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[158]) ).

thf(512,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( B @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_859_CallParamsThrow) ).

thf(3037,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( B @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( B @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[512]) ).

thf(203,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_396_ThrowRedsThrow) ).

thf(1900,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[203]) ).

thf(17,axiom,
    null != unit,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_562_val_Osimps_I5_J) ).

thf(1223,plain,
    null != unit,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[17]) ).

thf(889,axiom,
    ! [A: $i] :
      ( ( A @ wf_mdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_mdecl ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__mdecl_res) ).

thf(4466,plain,
    ! [A: $i] :
      ( ( A @ wf_mdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_mdecl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[889]) ).

thf(28,axiom,
    void != nt,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_710_ty_Osimps_I6_J) ).

thf(1255,plain,
    void != nt,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[28]) ).

thf(268,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i,P: $i,Q: $i,R: $i,S: $i,T: $i,U: $i] :
      ( ( U @ ( T @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( S @ ( R @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( P @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( N @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( U @ ( M @ ( Q @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( T @ ( O @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( J @ ( I @ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( K @ ( Q @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( ( ( N @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
                = ( H @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
             => ( ( D
                  = ( N @ ( H @ ( T @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( this @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) ) )
               => ( ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( D @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ( P @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( S @ ( M @ ( E @ ( R @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_948_Call) ).

thf(2147,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i,P: $i,Q: $i,R: $i,S: $i,T: $i,U: $i] :
      ( ( U @ ( T @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( S @ ( R @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( P @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( N @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( U @ ( M @ ( Q @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( T @ ( O @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( J @ ( I @ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( K @ ( Q @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( ( ( N @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
                = ( H @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
             => ( ( D
                  = ( N @ ( H @ ( T @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( this @ ( val @ none @ ( char @ list @ ( val @ option @ combk ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) ) )
               => ( ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( D @ ( O @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ( P @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( S @ ( M @ ( E @ ( R @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( Q @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[268]) ).

thf(820,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( B @ ( C @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_66_lconf__hext) ).

thf(4204,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( B @ ( C @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[820]) ).

thf(716,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( C @ ( B @ ( A @ fun ) @ semilattice_sup_sup @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ semilattice_sup_sup @ ( B @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_279_sup__fun__def) ).

thf(3816,plain,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( C @ ( B @ ( A @ fun ) @ semilattice_sup_sup @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ semilattice_sup_sup @ ( B @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[716]) ).

thf(668,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_811_exp_Osimps_I194_J) ).

thf(3664,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[668]) ).

thf(674,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_265_Un__absorb1) ).

thf(3682,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[674]) ).

thf(1102,axiom,
    nat @ semilattice_sup,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Lattices_Osemilattice__sup) ).

thf(5206,plain,
    nat @ semilattice_sup,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1102]) ).

thf(409,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_232_extend__1__eval) ).

thf(2673,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[409]) ).

thf(1053,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_610_binop_Osimps_I9_J) ).

thf(5049,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1053]) ).

thf(393,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( A @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_95_splitE2) ).

thf(2589,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( A @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[393]) ).

thf(1016,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_922_trancl__into__rtrancl) ).

thf(4915,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1016]) ).

thf(346,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( H @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_689_CondF) ).

thf(2409,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( H @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[346]) ).

thf(420,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( void @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_766_ty_Osimps_I22_J) ).

thf(2733,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( void @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[420]) ).

thf(50,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( val @ none ) )
       => ( ~ ( C @ ( F @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_146_redp__redsp_OBlockRedNone) ).

thf(1343,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( val @ none ) )
       => ( ~ ( C @ ( F @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[50]) ).

thf(55,axiom,
    ( ( fNot @ ( bool @ ( bool @ fun ) @ ti ) )
    = fNot ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fNot_res) ).

thf(1355,plain,
    ( ( fNot @ ( bool @ ( bool @ fun ) @ ti ) )
    = fNot ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[55]) ).

thf(306,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ product_Pair ) @ ( C @ ( B @ ( bool @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_893_split__paired__The) ).

thf(2277,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ product_Pair ) @ ( C @ ( B @ ( bool @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[306]) ).

thf(935,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_661_exp_Osimps_I214_J) ).

thf(4609,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[935]) ).

thf(1051,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_98_splitD_H) ).

thf(5044,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( D @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1051]) ).

thf(147,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_702_CondReds2F) ).

thf(1676,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[147]) ).

thf(693,axiom,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_722_refTE) ).

thf(3742,plain,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A != nt )
       => ~ ! [B: $i] :
              ( A
             != ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[693]) ).

thf(492,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_758_exp_Osimps_I34_J) ).

thf(2969,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[492]) ).

thf(790,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_972_wts_H__wts) ).

thf(4091,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[790]) ).

thf(909,axiom,
    ! [A: $i] :
      ( ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ oconf ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Conform_Ooconf_res) ).

thf(4521,plain,
    ! [A: $i] :
      ( ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ oconf ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[909]) ).

thf(558,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_602_subcls1p__subcls1__eq) ).

thf(3239,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[558]) ).

thf(884,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_168_InitBlockRedsFinal) ).

thf(4449,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[884]) ).

thf(899,axiom,
    ! [A: $i] :
      ( ( A @ some @ ( A @ option @ ( A @ fun ) @ ti ) )
      = ( A @ some ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_OSome_res) ).

thf(4493,plain,
    ! [A: $i] :
      ( ( A @ some @ ( A @ option @ ( A @ fun ) @ ti ) )
      = ( A @ some ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[899]) ).

thf(1071,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ comp ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_996_o__apply) ).

thf(5102,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ comp ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1071]) ).

thf(1154,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
          = ( H @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) ) )
       => ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ? [K: $i] : ( K @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( H @ ( I @ ( D @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_955_blocksEval) ).

thf(5396,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
          = ( H @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) ) )
       => ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ? [K: $i] : ( K @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( H @ ( I @ ( D @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1154]) ).

thf(777,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_727_class__wf) ).

thf(4044,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[777]) ).

thf(573,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_835_extend__1__evals) ).

thf(3286,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[573]) ).

thf(104,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_553_WTrt_H__WTrts_H_Ointros_I8_J) ).

thf(1560,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ ( H @ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[104]) ).

thf(408,axiom,
    ! [A: $i] :
      ( ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ d ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_DefAss_O_092_060D_062_res) ).

thf(2670,plain,
    ! [A: $i] :
      ( ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ d ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[408]) ).

thf(969,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_831_CallRedsObj) ).

thf(4725,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[969]) ).

thf(40,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( D @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_981_tranclD2) ).

thf(1296,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( D @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[40]) ).

thf(77,axiom,
    ! [A: $i] :
      ( ( A @ val_1 @ ( A @ exp @ ( val @ fun ) @ ti ) )
      = ( A @ val_1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OVal_res) ).

thf(1457,plain,
    ! [A: $i] :
      ( ( A @ val_1 @ ( A @ exp @ ( val @ fun ) @ ti ) )
      = ( A @ val_1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[77]) ).

thf(249,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( B @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_701_CondReds2T) ).

thf(2068,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( B @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[249]) ).

thf(1100,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_317_sup__assoc) ).

thf(5201,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1100]) ).

thf(321,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_822_exp_Osimps_I187_J) ).

thf(2327,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[321]) ).

thf(742,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_506_eval__evals_OCastThrow) ).

thf(3926,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[742]) ).

thf(6,axiom,
    ! [A: $i] :
      ( ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ bop_rec ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_Obop__rec_res) ).

thf(1195,plain,
    ! [A: $i] :
      ( ( A @ bop_rec @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ bop_rec ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[6]) ).

thf(380,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_578_redp__redsp_ORedFAccNull) ).

thf(2547,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[380]) ).

thf(405,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_378_exp_Osimps_I158_J) ).

thf(2653,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[405]) ).

thf(568,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_760_exp_Osimps_I35_J) ).

thf(3271,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[568]) ).

thf(845,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
        = ( D @ ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ! [F: $i] :
          ( ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( F @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( F @ ( C @ ( B @ ( A @ hAPP ) ) ) )
            = ( F @ ( E @ ( B @ ( A @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_890_map__eq__conv) ).

thf(4295,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ! [F: $i] :
            ( ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( F @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( F @ ( C @ ( B @ ( A @ hAPP ) ) ) )
              = ( F @ ( E @ ( B @ ( A @ hAPP ) ) ) ) ) )
       => ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
          = ( D @ ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
          = ( D @ ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ! [F: $i] :
            ( ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( F @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( F @ ( C @ ( B @ ( A @ hAPP ) ) ) )
              = ( F @ ( E @ ( B @ ( A @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[845]) ).

thf(361,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
      = ( C @ ( B @ ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ hAPP ) ) ) @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_777_blank__def) ).

thf(2464,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
      = ( C @ ( B @ ( A @ fields_1 @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( char @ list @ hAPP ) ) ) @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[361]) ).

thf(1152,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( A @ ( G @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( A @ ( B @ ( H @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_556_WTrt_H__WTrts_H_Ointros_I22_J) ).

thf(5391,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( A @ ( G @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( A @ ( B @ ( H @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1152]) ).

thf(461,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_301_rtrancl__Un__subset) ).

thf(2873,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[461]) ).

thf(761,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_698_red__reds_ORedCondF) ).

thf(3980,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[761]) ).

thf(1182,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_470_TryReds) ).

thf(5492,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1182]) ).

thf(567,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( F @ ( E @ ( D @ ( H @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_905_sees__method__idemp) ).

thf(3269,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( F @ ( E @ ( D @ ( H @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[567]) ).

thf(655,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_573_ThrowNull) ).

thf(3618,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[655]) ).

thf(1176,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( ( D
             != ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
           => ( ( ? [F: $i] :
                    ( D
                    = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
               => ! [F: $i] :
                    ( E
                   != ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
             => ~ ! [F: $i] :
                    ( D
                   != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_582_finalRefE) ).

thf(5465,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( ( D
             != ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
           => ( ( ? [F: $i] :
                    ( D
                    = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
               => ! [F: $i] :
                    ( E
                   != ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
             => ~ ! [F: $i] :
                    ( D
                   != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1176]) ).

thf(210,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
       => ? [H: $i] :
            ( ( ( B @ ( H @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
            & ( H @ ( D @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_917_sees__methods__idemp) ).

thf(1920,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
       => ? [H: $i] :
            ( ( ( B @ ( H @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( D @ ( C @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
            & ( H @ ( D @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[210]) ).

thf(780,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_79_red__reds_OLAssRed) ).

thf(4053,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[780]) ).

thf(356,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [I: $i] :
          ( ( ( D @ ( I @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( H @ ( G @ ( F @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
          & ( I @ ( C @ ( B @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_914_Method__def) ).

thf(2433,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ? [I: $i] :
            ( ( ( D @ ( I @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( H @ ( G @ ( F @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
            & ( I @ ( C @ ( B @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ? [I: $i] :
            ( ( ( D @ ( I @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( H @ ( G @ ( F @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
            & ( I @ ( C @ ( B @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[356]) ).

thf(1039,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ? [E: $i] :
          ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          & ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
    <=> ( ? [E: $i] :
            ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
        | ? [E: $i] :
            ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_254_bex__Un) ).

thf(4994,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ? [E: $i] :
              ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
          | ? [E: $i] :
              ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ? [E: $i] :
            ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) )
      & ( ? [E: $i] :
            ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ? [E: $i] :
              ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
          | ? [E: $i] :
              ( ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1039]) ).

thf(624,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( F @ ( ty @ ( char @ list @ product_Pair ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_884_field__def2) ).

thf(3499,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( F @ ( ty @ ( char @ list @ product_Pair ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[624]) ).

thf(866,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( ( B @ ( A @ ti ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_849_list_Oinject) ).

thf(4385,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( ( B @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) ) )
       => ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( ( B @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[866]) ).

thf(1044,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( G @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_843_CallRedsThrowParams) ).

thf(5021,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( K @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( A @ ( G @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1044]) ).

thf(1049,axiom,
    ! [A: $i] :
      ( ( A @ throw @ ( A @ exp @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ throw ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_Othrow_res) ).

thf(5038,plain,
    ! [A: $i] :
      ( ( A @ throw @ ( A @ exp @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ throw ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1049]) ).

thf(537,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E
            = ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ! [G: $i,H: $i,I: $i] :
              ( ( F
                = ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
             => ~ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_409_eval__cases_I4_J) ).

thf(3144,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E
            = ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ! [G: $i,H: $i,I: $i] :
              ( ( F
                = ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
             => ~ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[537]) ).

thf(977,axiom,
    ! [A: $i] :
      ( ( A @ method_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ method_1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Omethod_res) ).

thf(4746,plain,
    ! [A: $i] :
      ( ( A @ method_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ method_1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[977]) ).

thf(173,axiom,
    ( ( class @ ( ty @ ( char @ list @ fun ) @ ti ) )
    = class ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OClass_res) ).

thf(1787,plain,
    ( ( class @ ( ty @ ( char @ list @ fun ) @ ti ) )
    = class ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[173]) ).

thf(1023,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_489_exp_Osimps_I66_J) ).

thf(4942,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1023]) ).

thf(745,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( C @ ( A @ combc ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( E @ ( F @ ( D @ ( B @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBC_1_1_U) ).

thf(3931,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( C @ ( A @ combc ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( E @ ( F @ ( D @ ( B @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[745]) ).

thf(510,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( G @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( F @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_960_list__all2__appendI) ).

thf(3033,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( G @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( F @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( E @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[510]) ).

thf(953,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( E @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) )
     => ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( C @ list @ size_size @ ( nat @ ( C @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_931_map__eq__imp__length__eq) ).

thf(4680,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( E @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) )
     => ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( C @ list @ size_size @ ( nat @ ( C @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[953]) ).

thf(1137,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_936_rtrancl__into__trancl2) ).

thf(5330,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1137]) ).

thf(651,axiom,
    fTrue @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fTrue_1_1_U) ).

thf(3595,plain,
    fTrue @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[651]) ).

thf(849,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) )
      = ( outOfMemory @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( classCast @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( nullPointer @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_558_start__heap__def) ).

thf(4316,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) )
      = ( outOfMemory @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( classCast @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( nullPointer @ ( B @ ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[849]) ).

thf(1069,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_660_red__reds_ORedWhile) ).

thf(5098,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1069]) ).

thf(833,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
      <=> ( E @ ( D @ ( F @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_53_conf__upd__obj) ).

thf(4248,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( E @ ( D @ ( F @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( E @ ( D @ ( C @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
        & ( ( E @ ( D @ ( C @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( E @ ( D @ ( F @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[833]) ).

thf(69,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_267_Un__least) ).

thf(1425,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[69]) ).

thf(145,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ collect @ ( bool @ ( ty @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( C @ ( ty @ set @ ( bool @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( ty @ fun ) @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_899_is__type__pTs) ).

thf(1672,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( K @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ collect @ ( bool @ ( ty @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( C @ ( ty @ set @ ( bool @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( ty @ fun ) @ fun ) @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[145]) ).

thf(524,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_244_UnCI) ).

thf(3078,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[524]) ).

thf(663,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_399_red__reds_OFAssThrow1) ).

thf(3650,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[663]) ).

thf(739,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_456_redp__redsp_OBinOpRed2) ).

thf(3916,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[739]) ).

thf(1110,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_175_subsetD) ).

thf(5233,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1110]) ).

thf(546,axiom,
    ! [A: $i] :
      ( ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ seq ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OSeq_res) ).

thf(3205,plain,
    ! [A: $i] :
      ( ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ seq ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[546]) ).

thf(1178,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [D: $i,E: $i] :
          ( ~ ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( C
            = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_897_in__set__conv__decomp__first) ).

thf(5475,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i,E: $i] :
            ( ~ ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
       => ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i,E: $i] :
            ( ~ ( D @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1178]) ).

thf(994,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
        & ( C @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_62_split__part) ).

thf(4808,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ hBOOL ) )
       => ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[994]) ).

thf(798,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_384_eval__evals_OFAssThrow1) ).

thf(4123,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[798]) ).

thf(53,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_407_red__reds_OBlockThrow) ).

thf(1350,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[53]) ).

thf(530,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
    <=> ( D @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_283_sup__Un__eq2) ).

thf(3105,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
      & ( ( F @ ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ member @ ( A @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( B @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ fun ) @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[530]) ).

thf(312,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_314_sup__left__commute) ).

thf(2300,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[312]) ).

thf(737,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_812_exp_Osimps_I156_J) ).

thf(3909,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[737]) ).

thf(21,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combk ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ combk ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBK_res) ).

thf(1234,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combk ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ combk ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[21]) ).

thf(1107,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_538_typeof__lit__conf) ).

thf(5221,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1107]) ).

thf(375,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_802_exp_Osimps_I189_J) ).

thf(2515,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[375]) ).

thf(335,axiom,
    ! [A: $i] :
      ( ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ method ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_OMethod_res) ).

thf(2377,plain,
    ! [A: $i] :
      ( ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ method ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[335]) ).

thf(1122,axiom,
    ( ( classCast @ ( char @ list @ ti ) )
    = classCast ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_OClassCast_res) ).

thf(5270,plain,
    ( ( classCast @ ( char @ list @ ti ) )
    = classCast ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1122]) ).

thf(1112,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_403_LAssRedsThrow) ).

thf(5238,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1112]) ).

thf(218,axiom,
    ! [A: $i] :
      ( ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ fequal ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fequal_res) ).

thf(1953,plain,
    ! [A: $i] :
      ( ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ fequal ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[218]) ).

thf(1162,axiom,
    ! [A: $i,B: $i] :
      ( ( ( B @ ( A @ option @ ti ) )
       != ( A @ none ) )
    <=> ? [C: $i] :
          ( ( B @ ( A @ option @ ti ) )
          = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_141_not__None__eq) ).

thf(5423,plain,
    ! [A: $i,B: $i] :
      ( ( ? [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
            = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
       => ( ( B @ ( A @ option @ ti ) )
         != ( A @ none ) ) )
      & ( ( ( B @ ( A @ option @ ti ) )
         != ( A @ none ) )
       => ? [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
            = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1162]) ).

thf(1032,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_444_exp_Osimps_I101_J) ).

thf(4974,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1032]) ).

thf(179,axiom,
    ( ( object @ ( char @ list @ ti ) )
    = object ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_OObject_res) ).

thf(1804,plain,
    ( ( object @ ( char @ list @ ti ) )
    = object ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[179]) ).

thf(724,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( H @ ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_133_oconf__upd__obj) ).

thf(3862,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( H @ ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[724]) ).

thf(794,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_549_wt_H__iff__wt) ).

thf(4108,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[794]) ).

thf(493,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_780_sees__field__decl__above) ).

thf(2973,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[493]) ).

thf(988,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_427_exp_Osimps_I93_J) ).

thf(4789,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[988]) ).

thf(192,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_803_CallObjThrow) ).

thf(1856,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[192]) ).

thf(940,axiom,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_208_order__trans) ).

thf(4636,plain,
    ! [A: $i] :
      ( ( A @ preorder )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( D @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[940]) ).

thf(115,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( E @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( I @ ( H @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( F @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_13_prod__cases4) ).

thf(1587,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ~ ! [F: $i,G: $i,H: $i,I: $i] :
          ( ( E @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( I @ ( H @ ( D @ ( C @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( D @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( D @ hAPP ) ) ) @ ( G @ ( D @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( D @ ( C @ product_prod ) @ hAPP ) ) ) @ ( F @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( D @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[115]) ).

thf(630,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( ty @ combc ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ the_1 @ ( ty @ ( char @ list @ product_prod ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_885_field__def) ).

thf(3518,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( ty @ combc ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ the_1 @ ( ty @ ( char @ list @ product_prod ) @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[630]) ).

thf(755,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_195_rtrancl__trans) ).

thf(3963,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[755]) ).

thf(198,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_273_Red__dom__lcl) ).

thf(1878,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[198]) ).

thf(595,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i,G: $i] :
            ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( F @ ( A @ ti ) )
                = ( G @ ( A @ ti ) ) ) ) )
       => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_410_rtrancl__Un__separatorE) ).

thf(3386,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i,G: $i] :
            ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( F @ ( A @ ti ) )
                = ( G @ ( A @ ti ) ) ) ) )
       => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[595]) ).

thf(418,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( A @ the @ ( A @ ( A @ option @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_179_the_Osimps) ).

thf(2726,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( A @ the @ ( A @ ( A @ option @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[418]) ).

thf(417,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_2_1_U) ).

thf(2724,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[417]) ).

thf(456,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = F )
     => ( ( B
          = ( C @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_845_Cons__eq__appendI) ).

thf(2858,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = F )
     => ( ( B
          = ( C @ ( E @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[456]) ).

thf(377,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) )
      = ( B @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_850_fv__fvs_Osimps_I17_J) ).

thf(2537,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) )
      = ( B @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[377]) ).

thf(660,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_799_exp_Osimps_I30_J) ).

thf(3632,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[660]) ).

thf(694,axiom,
    ! [A: $i,B: $i,C: $i] : ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_263_Un__upper2) ).

thf(3746,plain,
    ! [A: $i,B: $i,C: $i] : ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[694]) ).

thf(996,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_353_redp__redsp_OThrowThrow) ).

thf(4817,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[996]) ).

thf(64,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_738_exp_Osimps_I36_J) ).

thf(1397,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[64]) ).

thf(90,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_670_exp_Osimps_I218_J) ).

thf(1493,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[90]) ).

thf(536,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( H @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( A @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_231_eval__notfree__unchanged) ).

thf(3141,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( H @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( A @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[536]) ).

thf(235,axiom,
    ! [A: $i] :
      ( unit
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_614_val_Osimps_I6_J) ).

thf(2023,plain,
    ! [A: $i] :
      ( unit
     != ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[235]) ).

thf(1073,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i] :
            ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( G @ ( E @ ( H @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
       => ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_719_WTrt__elim__cases_I7_J) ).

thf(5107,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i] :
            ( ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( G @ ( E @ ( H @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
       => ( nt @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1073]) ).

thf(876,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_842_CallRedsParams) ).

thf(4425,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[876]) ).

thf(689,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fTrue @ ( fTrue @ ( fTrue @ ( fTrue @ ( bool @ ty_case @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_734_is__type__def) ).

thf(3728,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fTrue @ ( fTrue @ ( fTrue @ ( fTrue @ ( bool @ ty_case @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fTrue @ ( fTrue @ ( fTrue @ ( fTrue @ ( bool @ ty_case @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[689]) ).

thf(652,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i] :
          ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
    <=> ( ! [E: $i] :
            ( ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
        & ! [E: $i] :
            ( ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_255_ball__Un) ).

thf(3596,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ! [E: $i] :
              ( ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
          & ! [E: $i] :
              ( ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) )
       => ! [E: $i] :
            ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) )
      & ( ! [E: $i] :
            ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
       => ( ! [E: $i] :
              ( ( D @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
          & ! [E: $i] :
              ( ( C @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[652]) ).

thf(350,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_540_binop_Osimps_I10_J) ).

thf(2419,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[350]) ).

thf(906,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_768_WTrt_H__WTrts_H_Ointros_I1_J) ).

thf(4513,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[906]) ).

thf(13,axiom,
    ( ( unit @ ( val @ ti ) )
    = unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OUnit_res) ).

thf(1214,plain,
    ( ( unit @ ( val @ ti ) )
    = unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[13]) ).

thf(882,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( ( C @ ( A @ ti ) )
              = ( B @ ( A @ ti ) ) )
           => ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_210_xt1_I4_J) ).

thf(4444,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( ( C @ ( A @ ti ) )
              = ( B @ ( A @ ti ) ) )
           => ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[882]) ).

thf(495,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_992_List_Omap_Ocompositionality) ).

thf(2978,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[495]) ).

thf(319,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_880_redp__redsp_OListRed2) ).

thf(2317,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[319]) ).

thf(912,axiom,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != nt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_708_ty_Osimps_I21_J) ).

thf(4530,plain,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != nt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[912]) ).

thf(215,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_131_redp__redsp_ORedLAss) ).

thf(1942,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[215]) ).

thf(141,axiom,
    ! [A: $i] :
      ( ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_trancl ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Otrancl_res) ).

thf(1659,plain,
    ! [A: $i] :
      ( ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_trancl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[141]) ).

thf(39,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
       != ( C @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
     => ( B != C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_928_neq__if__length__neq) ).

thf(1292,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
       != ( C @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) )
     => ( B != C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[39]) ).

thf(657,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_611_val_Osimps_I21_J) ).

thf(3622,plain,
    ! [A: $i,B: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[657]) ).

thf(608,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_199_rtrancl__induct2) ).

thf(3441,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( ! [I: $i,J: $i,K: $i,L: $i] :
              ( ( H @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( H @ ( L @ ( K @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( J @ ( I @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( I @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
                 => ( L @ ( K @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( G @ ( F @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[608]) ).

thf(317,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ comp ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_998_o__def) ).

thf(2312,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ comp ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[317]) ).

thf(1117,axiom,
    ( ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ti ) )
    = init_fields ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oinit__fields_res) ).

thf(5253,plain,
    ( ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ti ) )
    = init_fields ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1117]) ).

thf(1021,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_80_red__reds_OSeqRed) ).

thf(4938,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1021]) ).

thf(1120,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_362_exp_Osimps_I150_J) ).

thf(5263,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1120]) ).

thf(244,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_307_inf__sup__aci_I5_J) ).

thf(2053,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[244]) ).

thf(188,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( ( J @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( K @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( ( A @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
            = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
         => ( ( ( D @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) )
              = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
           => ( I @ ( G @ ( A @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( this @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_952_redp__redsp_ORedCall) ).

thf(1842,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( ( J @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( K @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( ( A @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
            = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
         => ( ( ( D @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) )
              = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
           => ( I @ ( G @ ( A @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( this @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[188]) ).

thf(153,axiom,
    ! [A: $i] :
      ( ( A @ ord )
     => ( ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
        = ( A @ ord_less_eq ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Orderings_Oord__class_Oless__eq_res) ).

thf(1700,plain,
    ! [A: $i] :
      ( ( A @ ord )
     => ( ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
        = ( A @ ord_less_eq ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[153]) ).

thf(398,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( E @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_601_redp__redsp_ORedCastFail) ).

thf(2613,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( E @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[398]) ).

thf(213,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ none @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E @ ( H @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( val @ none ) )
       => ( ~ ( B @ ( E @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_164_red__reds_OBlockRedNone) ).

thf(1937,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ none @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E @ ( H @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( val @ none ) )
       => ( ~ ( B @ ( E @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( E @ ( H @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( E @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[213]) ).

thf(1007,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [E: $i] :
            ( ( D
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
            & ( C = nt ) )
        | ? [E: $i,F: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( D
              = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
            & ( C
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
        | ? [E: $i] :
            ( ( D = E )
            & ( C = E ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_720_widen_Osimps) ).

thf(4861,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ? [E: $i] :
              ( ( D
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C = nt ) )
          | ? [E: $i,F: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( D
                = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ? [E: $i] :
              ( ( D = E )
              & ( C = E ) ) )
       => ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [E: $i] :
              ( ( D
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C = nt ) )
          | ? [E: $i,F: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( D
                = ( F @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ? [E: $i] :
              ( ( D = E )
              & ( C = E ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1007]) ).

thf(944,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_357_fv__fvs_Osimps_I7_J) ).

thf(4648,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[944]) ).

thf(382,axiom,
    bool @ order,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_HOL_Obool___Orderings_Oorder) ).

thf(2551,plain,
    bool @ order,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[382]) ).

thf(253,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( ( B @ ( A @ ti ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_113_exp_Osimps_I6_J) ).

thf(2085,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( ( B @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) ) )
       => ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( ( B @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[253]) ).

thf(640,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ fequal @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( fconj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_892_The__split__eq) ).

thf(3555,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ fequal @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( A @ fequal @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( fconj @ ( A @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( bool @ combb ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[640]) ).

thf(886,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_404_SeqRedsThrow) ).

thf(4457,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[886]) ).

thf(993,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_491_exp_Osimps_I61_J) ).

thf(4804,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[993]) ).

thf(74,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_69_red__reds_ORedBlock) ).

thf(1451,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[74]) ).

thf(1030,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_178_rtrancl__subset__rtrancl) ).

thf(4970,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1030]) ).

thf(717,axiom,
    ! [A: $i,B: $i] : ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_579_red__reds_ORedThrowNull) ).

thf(3819,plain,
    ! [A: $i,B: $i] : ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[717]) ).

thf(916,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ! [D: $i] :
              ( ( ( B @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( D @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
             => ( B @ ( C @ ( A @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
         => ( B @ ( C @ ( A @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_620_preallocatedE) ).

thf(4540,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ! [D: $i] :
              ( ( ( B @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( D @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
             => ( B @ ( C @ ( A @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
         => ( B @ ( C @ ( A @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[916]) ).

thf(747,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ~ ( G @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( G @ ( D @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( F @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) )
        = ( D @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_950_map__upds__twist) ).

thf(3937,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ~ ( G @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( G @ ( D @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( F @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) )
        = ( D @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( F @ ( E @ ( G @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[747]) ).

thf(445,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_569_red__reds_ORedCastNull) ).

thf(2813,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[445]) ).

thf(25,axiom,
    ! [A: $i] :
      ( ( A @ undefined @ ( A @ ti ) )
      = ( A @ undefined ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_HOL_Oundefined_res) ).

thf(1246,plain,
    ! [A: $i] :
      ( ( A @ undefined @ ( A @ ti ) )
      = ( A @ undefined ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[25]) ).

thf(1150,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ fequal @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_592_rtranclp__reflcl) ).

thf(5369,plain,
    ! [A: $i,B: $i] :
      ( ( A @ fequal @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1150]) ).

thf(587,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_3_1_U) ).

thf(3364,plain,
    ! [A: $i,B: $i] :
      ( ( B @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[587]) ).

thf(428,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( A @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_878_redsp__reds__eq) ).

thf(2756,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( A @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[428]) ).

thf(130,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_170_rtrancl_Ortrancl__refl) ).

thf(1627,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[130]) ).

thf(1058,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_771_red__reds_ORedNew) ).

thf(5063,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( C @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1058]) ).

thf(372,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_920_subcls__notin__has__fields) ).

thf(2504,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[372]) ).

thf(1135,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( c_Expr_Obop_OEq @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( B @ ( A @ ( val @ fequal @ ( bool @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( val @ hAPP ) ) ) @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_624_binop_Osimps_I1_J) ).

thf(5317,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( c_Expr_Obop_OEq @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( B @ ( A @ ( val @ fequal @ ( bool @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( val @ hAPP ) ) ) @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1135]) ).

thf(665,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_41_red__hext__incr) ).

thf(3656,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[665]) ).

thf(358,axiom,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( classCast @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_531_typeof__ClassCast) ).

thf(2450,plain,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( classCast @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[358]) ).

thf(481,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( H @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( G @ ( A @ ( B @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_690_CondT) ).

thf(2932,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( H @ ( B @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( G @ ( A @ ( B @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[481]) ).

thf(84,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( E @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_268_Un__mono) ).

thf(1478,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( E @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[84]) ).

thf(26,axiom,
    ! [A: $i] :
      ( ( ( A @ ( bop @ ti ) )
       != c_Expr_Obop_OEq )
     => ( ( A @ ( bop @ ti ) )
        = add ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_648_bop_Oexhaust) ).

thf(1249,plain,
    ! [A: $i] :
      ( ( ( A @ ( bop @ ti ) )
       != c_Expr_Obop_OEq )
     => ( ( A @ ( bop @ ti ) )
        = add ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[26]) ).

thf(376,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i,I: $i,J: $i,K: $i] :
            ( ( F
              = ( K @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
           => ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( J @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
                 != ( K @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ) ) ) )
       => ( ! [H: $i] :
              ( ( F
                = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( G @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [H: $i,I: $i,J: $i] :
                ( ( F
                  = ( J @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ~ ( G @ ( J @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_528_eval__cases_I3_J) ).

thf(2519,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i,I: $i,J: $i,K: $i] :
            ( ( F
              = ( K @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
           => ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( J @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
               => ( ( J @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
                 != ( K @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ) ) ) )
       => ( ! [H: $i] :
              ( ( F
                = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( G @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [H: $i,I: $i,J: $i] :
                ( ( F
                  = ( J @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ~ ( G @ ( J @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[376]) ).

thf(96,axiom,
    ! [A: $i,B: $i] : ( B @ ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_568_preallocated__start) ).

thf(1530,plain,
    ! [A: $i,B: $i] : ( B @ ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[96]) ).

thf(99,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_42_curry__def) ).

thf(1539,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ ( C @ product_curry ) ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[99]) ).

thf(366,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_440_exp_Osimps_I212_J) ).

thf(2487,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[366]) ).

thf(520,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ hBOOL )
      | ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_3_1_U) ).

thf(3059,plain,
    ! [A: $i,B: $i] :
      ( ( B @ hBOOL )
      | ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[520]) ).

thf(32,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ map ) @ ( C @ list @ ( B @ list @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ ( B @ list @ comp ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ fun ) @ ( C @ list @ ( B @ list @ fun ) @ hAPP ) ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ map ) @ ( C @ list @ ( A @ list @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_991_map__comp__map) ).

thf(1266,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ map ) @ ( C @ list @ ( B @ list @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ ( B @ list @ comp ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ fun ) @ ( C @ list @ ( B @ list @ fun ) @ hAPP ) ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ map ) @ ( C @ list @ ( A @ list @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[32]) ).

thf(585,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( F @ ( B @ ti ) )
         != ( E @ ( B @ ti ) ) )
       => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( F @ ( B @ ti ) )
          = ( E @ ( B @ ti ) ) )
       => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_18_fun__upd__def) ).

thf(3354,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( F @ ( B @ ti ) )
         != ( E @ ( B @ ti ) ) )
       => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( F @ ( B @ ti ) )
          = ( E @ ( B @ ti ) ) )
       => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[585]) ).

thf(20,axiom,
    c_Expr_Obop_OEq != add,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_650_bop_Osimps_I1_J) ).

thf(1231,plain,
    c_Expr_Obop_OEq != add,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[20]) ).

thf(1184,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_408_redp__redsp_OInitBlockThrow) ).

thf(5498,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1184]) ).

thf(5,axiom,
    ! [A: $i] :
      ( ( A @ none @ ( A @ option @ ti ) )
      = ( A @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_ONone_res) ).

thf(1192,plain,
    ! [A: $i] :
      ( ( A @ none @ ( A @ option @ ti ) )
      = ( A @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[5]) ).

thf(197,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_801_exp_Osimps_I188_J) ).

thf(1874,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[197]) ).

thf(1133,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( L @ ( K @ ( J @ ( I @ ( H @ ( G @ ( F @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( B @ ( H @ ( G @ ( F @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( E = L )
          & ( ( D @ ( A @ ti ) )
            = ( K @ ( A @ ti ) ) )
          & ( C = J )
          & ( B = I ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_904_sees__method__fun) ).

thf(5305,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( L @ ( K @ ( J @ ( I @ ( H @ ( G @ ( F @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( B @ ( H @ ( G @ ( F @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( E = L )
          & ( ( D @ ( A @ ti ) )
            = ( K @ ( A @ ti ) ) )
          & ( C = J )
          & ( B = I ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1133]) ).

thf(699,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B != C ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_947_subcls__irrefl) ).

thf(3760,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B != C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[699]) ).

thf(1106,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i] :
      ( ( O @ ( N @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( L @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( O @ ( G @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( B
              = ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
           => ( ( A
                = ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
             => ( J @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( G @ ( D @ ( C @ ( L @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_321_FAss) ).

thf(5217,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i,O: $i] :
      ( ( O @ ( N @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( L @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( O @ ( G @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( B
              = ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) ) )
           => ( ( A
                = ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( N @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
             => ( J @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( M @ ( G @ ( D @ ( C @ ( L @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1106]) ).

thf(757,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_818_exp_Osimps_I184_J) ).

thf(3967,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[757]) ).

thf(560,axiom,
    ( ( la @ ( val @ option @ ( char @ list @ fun ) @ ti ) )
    = la ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_la_____res) ).

thf(3247,plain,
    ( ( la @ ( val @ option @ ( char @ list @ fun ) @ ti ) )
    = la ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[560]) ).

thf(457,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( G @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_522_CastRedsFail) ).

thf(2862,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( G @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[457]) ).

thf(957,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] : ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_326_inf__sup__ord_I4_J) ).

thf(4689,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] : ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[957]) ).

thf(1046,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_432_exp_Osimps_I224_J) ).

thf(5026,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1046]) ).

thf(784,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( D @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
        = ( D @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( F @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_68_map__add__upd__left) ).

thf(4069,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( D @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
        = ( D @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( E @ ( F @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[784]) ).

thf(544,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_65_splitD) ).

thf(3201,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[544]) ).

thf(63,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ none )
     != ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_138_option_Osimps_I2_J) ).

thf(1393,plain,
    ! [A: $i,B: $i] :
      ( ( A @ none )
     != ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[63]) ).

thf(615,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( H @ ( G @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( I @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( F @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( C @ ( F @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( G @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_544_WTrt_H__WTrts_H_Ointros_I16_J) ).

thf(3476,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( H @ ( G @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( I @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( F @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( C @ ( F @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( G @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( E @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[615]) ).

thf(697,axiom,
    ( ( t @ ( ty @ ti ) )
    = t ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_T_H_____res) ).

thf(3755,plain,
    ( ( t @ ( ty @ ti ) )
    = t ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[697]) ).

thf(735,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
        = ( H @ ( G @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) )
     => ! [I: $i] :
          ( ( I @ ( F @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ hAPP ) ) ) )
          = ( I @ ( H @ ( D @ ( A @ hAPP ) ) ) @ ( G @ ( C @ ( D @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_994_o__eq__elim) ).

thf(3903,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
        = ( H @ ( G @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) )
     => ! [I: $i] :
          ( ( I @ ( F @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ hAPP ) ) ) )
          = ( I @ ( H @ ( D @ ( A @ hAPP ) ) ) @ ( G @ ( C @ ( D @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[735]) ).

thf(858,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_600_redp__redsp_ORedTryFail) ).

thf(4352,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[858]) ).

thf(553,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_359_exp_Osimps_I90_J) ).

thf(3225,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[553]) ).

thf(817,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ option_case ) @ ( A @ ( B @ option @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ option_case ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Ooption_Ooption__case_res) ).

thf(4195,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ option_case ) @ ( A @ ( B @ option @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ option_case ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[817]) ).

thf(106,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_173_r__into__rtrancl) ).

thf(1563,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[106]) ).

thf(189,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( F @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_191_oconf__new) ).

thf(1846,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( F @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[189]) ).

thf(438,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_688_red__reds_OCondRed) ).

thf(2793,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[438]) ).

thf(399,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_941_trancl__trans) ).

thf(2617,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[399]) ).

thf(1078,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( C = F )
        & ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_349_exp_Osimps_I7_J) ).

thf(5126,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( C = F )
          & ( B = E ) )
       => ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( C = F )
          & ( B = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1078]) ).

thf(324,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_836_extend__evals) ).

thf(2338,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[324]) ).

thf(474,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_100_hext__trans) ).

thf(2909,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[474]) ).

thf(1089,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_465_red__reds_OTryRed) ).

thf(5170,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1089]) ).

thf(810,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
        <=> ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_329_le__sup__iff) ).

thf(4163,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
           => ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
          & ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[810]) ).

thf(226,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_165_Red__lcl__add) ).

thf(1991,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[226]) ).

thf(437,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [I: $i] :
            ( ( I @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( G @ ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( F @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ~ ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_519_WTrt__elim__cases_I5_J) ).

thf(2788,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [I: $i] :
            ( ( I @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( G @ ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( F @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ~ ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[437]) ).

thf(170,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_368_exp_Osimps_I202_J) ).

thf(1779,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[170]) ).

thf(1157,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
        & ~ ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_987_distinct_Osimps_I2_J) ).

thf(5402,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( C @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ~ ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( A @ distinct @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ~ ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1157]) ).

thf(241,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_402_red__reds_OFAssThrow2) ).

thf(2043,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[241]) ).

thf(570,axiom,
    ( ( ha @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = ha ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ha_____res) ).

thf(3279,plain,
    ( ( ha @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = ha ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[570]) ).

thf(823,axiom,
    ( ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ fun ) @ ti ) )
    = addr_of_sys_xcpt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Oaddr__of__sys__xcpt_res) ).

thf(4212,plain,
    ( ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ fun ) @ ti ) )
    = addr_of_sys_xcpt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[823]) ).

thf(1009,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_511_CastReds) ).

thf(4889,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1009]) ).

thf(1028,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_393_redp__redsp_OFAssThrow2) ).

thf(4966,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1028]) ).

thf(151,axiom,
    ! [A: $i] :
      ( ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ fields ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_OFields_res) ).

thf(1695,plain,
    ! [A: $i] :
      ( ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ fields ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[151]) ).

thf(3,axiom,
    ( ( fFalse @ ( bool @ ti ) )
    = fFalse ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fFalse_res) ).

thf(1187,plain,
    ( ( fFalse @ ( bool @ ti ) )
    = fFalse ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[3]) ).

thf(1013,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_669_exp_Osimps_I219_J) ).

thf(4906,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1013]) ).

thf(1160,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_174_equalityI) ).

thf(5417,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1160]) ).

thf(289,axiom,
    ( ( v @ ( val @ ti ) )
    = v ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_____res) ).

thf(2221,plain,
    ( ( v @ ( val @ ti ) )
    = v ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[289]) ).

thf(280,axiom,
    ! [A: $i] :
      ( nt
     != ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_707_ty_Osimps_I20_J) ).

thf(2189,plain,
    ! [A: $i] :
      ( nt
     != ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[280]) ).

thf(126,axiom,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_1_InitBlockRed_I1_J) ).

thf(1616,plain,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[126]) ).

thf(1099,axiom,
    ! [A: $i] :
      ( ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ lAss ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OLAss_res) ).

thf(5198,plain,
    ! [A: $i] :
      ( ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ lAss ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1099]) ).

thf(348,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_694_red__reds_OCondThrow) ).

thf(2413,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[348]) ).

thf(472,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_158_LAssReds) ).

thf(2904,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[472]) ).

thf(391,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_193_converse__rtrancl__into__rtrancl) ).

thf(2585,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[391]) ).

thf(563,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_809_redp__redsp_OCallObj) ).

thf(3257,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[563]) ).

thf(871,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_230_rev__predicate2D) ).

thf(4412,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[871]) ).

thf(922,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_857_ListReds2) ).

thf(4562,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[922]) ).

thf(927,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_587_redp__redsp_ORedTryCatch) ).

thf(4577,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( G @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[927]) ).

thf(531,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
    <=> ( E @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_380__092_060D_062___092_060D_062s_Osimps_I7_J) ).

thf(3111,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[531]) ).

thf(837,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_636_exp_Osimps_I64_J) ).

thf(4269,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[837]) ).

thf(678,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_550_WTrt_H__WTrts_H_Ointros_I21_J) ).

thf(3696,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[678]) ).

thf(861,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_926_trancl__rtrancl__absorb) ).

thf(4365,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[861]) ).

thf(132,axiom,
    ( ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = typeSa1166768941_sconf ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeSafe__Mirabelle__gbqmebzphd_Osconf_res) ).

thf(1631,plain,
    ( ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = typeSa1166768941_sconf ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[132]) ).

thf(294,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_338_redp__redsp_ORedFAcc) ).

thf(2235,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[294]) ).

thf(267,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( G @ ( F @ ( D @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( G @ ( F @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( B @ ( A @ ( C @ product_prod_case ) ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) )
        = ( E @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_93_cond__split__eta) ).

thf(2144,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ! [F: $i,G: $i] :
          ( ( G @ ( F @ ( D @ ( B @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
          = ( G @ ( F @ ( A @ ( C @ product_Pair ) @ ( A @ ( C @ product_prod ) @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( A @ ( C @ product_prod ) @ ( A @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( B @ ( A @ ( C @ product_prod_case ) ) @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ( B @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) )
        = ( E @ ( B @ ( A @ ( C @ product_prod ) @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[267]) ).

thf(483,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_472_red__reds_OBinOpThrow2) ).

thf(2936,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[483]) ).

thf(419,axiom,
    ! [A: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_617_val_Osimps_I13_J) ).

thf(2729,plain,
    ! [A: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[419]) ).

thf(277,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_70_domI) ).

thf(2176,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
     => ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[277]) ).

thf(963,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_60_split__curry) ).

thf(4708,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[963]) ).

thf(955,axiom,
    nat @ preorder,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Opreorder) ).

thf(4685,plain,
    nat @ preorder,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[955]) ).

thf(311,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
    <=> ? [C: $i,D: $i] :
          ( B
          = ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_169_assigned__def) ).

thf(2292,plain,
    ! [A: $i,B: $i] :
      ( ( ? [C: $i,D: $i] :
            ( B
            = ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
       => ( B @ ( A @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL ) )
      & ( ( B @ ( A @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ? [C: $i,D: $i] :
            ( B
            = ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[311]) ).

thf(152,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_783_has__visible__field) ).

thf(1698,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[152]) ).

thf(796,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_306_sup_Ocommute) ).

thf(4116,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[796]) ).

thf(936,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [E: $i] :
            ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
        | ( C = nt ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_705_widen__Class) ).

thf(4613,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ? [E: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ( C = nt ) )
       => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [E: $i] :
              ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
              & ( C
                = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) )
          | ( C = nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[936]) ).

thf(238,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_671_exp_Osimps_I162_J) ).

thf(2033,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[238]) ).

thf(1079,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_58_map__add__assoc) ).

thf(5138,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1079]) ).

thf(621,axiom,
    ( ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_JWellForm_Owf__J__mdecl_res) ).

thf(3491,plain,
    ( ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[621]) ).

thf(86,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_846_append__Cons) ).

thf(1483,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[86]) ).

thf(34,axiom,
    ~ ( fFalse @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fFalse_1_1_U) ).

thf(1273,plain,
    ~ ( fFalse @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[34]) ).

thf(1109,axiom,
    ! [A: $i] :
      ( ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ fun ) @ ti ) )
      = ( A @ set ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Oset_res) ).

thf(5230,plain,
    ! [A: $i] :
      ( ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ fun ) @ ti ) )
      = ( A @ set ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1109]) ).

thf(591,axiom,
    ! [A: $i] :
      ( ( unit @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_529_binop_Osimps_I7_J) ).

thf(3375,plain,
    ! [A: $i] :
      ( ( unit @ ( A @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[591]) ).

thf(117,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_469_red__reds_ORedTry) ).

thf(1595,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[117]) ).

thf(632,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ! [F: $i,G: $i] :
          ( ( ( F @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
            = ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ? [H: $i] :
              ( ( H @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
              & ( ( F @ ( E @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
                = ( H @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_90_lconf__def) ).

thf(3523,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ! [F: $i,G: $i] :
            ( ( ( F @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
           => ? [H: $i] :
                ( ( H @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                & ( ( F @ ( E @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
                  = ( H @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) )
       => ( E @ ( D @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ! [F: $i,G: $i] :
            ( ( ( F @ ( D @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
           => ? [H: $i] :
                ( ( H @ ( G @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                & ( ( F @ ( E @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
                  = ( H @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[632]) ).

thf(714,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( E @ ( B @ ( A @ hAPP ) ) ) @ ( C @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_218_le__funE) ).

thf(3811,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i,E: $i] :
          ( ( E @ ( D @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( C @ ( E @ ( B @ ( A @ hAPP ) ) ) @ ( C @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[714]) ).

thf(406,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_680_exp_Osimps_I177_J) ).

thf(2657,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[406]) ).

thf(992,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( H @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( I @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( G @ ( H @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( E @ ( ty @ ( char @ list @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( ty @ ( char @ list @ product_Pair ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( J @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( G @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_886_all__fields__in__has__fields) ).

thf(4801,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( H @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( I @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( G @ ( H @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ( ( E @ ( ty @ ( char @ list @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( ty @ ( char @ list @ product_Pair ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( J @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( G @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[992]) ).

thf(649,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_597_rtranclp__idemp) ).

thf(3590,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[649]) ).

thf(1144,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
          = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_177_rtrancl__subset) ).

thf(5350,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) )
          = ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1144]) ).

thf(1024,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_31_red__preserves__sconf) ).

thf(4946,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1024]) ).

thf(548,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_372_exp_Osimps_I160_J) ).

thf(3213,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[548]) ).

thf(633,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( K @ ( L @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( N @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( A @ ( B @ ( F @ ( I @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_416_TryCatchRedsFinal) ).

thf(3536,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( K @ ( L @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( N @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( L @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( N @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( M @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( A @ ( B @ ( F @ ( I @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[633]) ).

thf(987,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_250_Un__left__absorb) ).

thf(4786,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[987]) ).

thf(637,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_310_inf__sup__aci_I8_J) ).

thf(3547,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[637]) ).

thf(948,axiom,
    ! [A: $i,B: $i] :
      ( ( ( B @ ( A @ option @ ti ) )
       != ( A @ none ) )
     => ~ ! [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
           != ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_201_option_Oexhaust) ).

thf(4662,plain,
    ! [A: $i,B: $i] :
      ( ( ( B @ ( A @ option @ ti ) )
       != ( A @ none ) )
     => ~ ! [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
           != ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[948]) ).

thf(1173,axiom,
    ! [A: $i] :
      ( ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtranclp ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Ortranclp_res) ).

thf(5456,plain,
    ! [A: $i] :
      ( ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtranclp ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1173]) ).

thf(855,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_417_WTrtThrow) ).

thf(4341,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[855]) ).

thf(523,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( E @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( D @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL )
      <=> ( ( E @ ( D @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL )
          & ( G @ ( F @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_958_list__all2__append) ).

thf(3070,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( G @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( ( ( E @ ( D @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL )
            & ( G @ ( F @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL ) )
         => ( E @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( D @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL ) )
        & ( ( E @ ( G @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( D @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( E @ ( D @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL )
            & ( G @ ( F @ ( C @ ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( B @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[523]) ).

thf(661,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ( A @ hAPP ) ) ) )
            = ( D @ ( A @ ti ) ) ) )
     => ( ( C @ ( B @ ( A @ ( A @ map ) @ ( A @ list @ ( A @ list @ fun ) @ ( A @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_912_map__idI) ).

thf(3636,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] :
          ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ( A @ hAPP ) ) ) )
            = ( D @ ( A @ ti ) ) ) )
     => ( ( C @ ( B @ ( A @ ( A @ map ) @ ( A @ list @ ( A @ list @ fun ) @ ( A @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = C ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[661]) ).

thf(556,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_350_redp__redsp_OFAccThrow) ).

thf(3234,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[556]) ).

thf(484,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_645_exp_Osimps_I89_J) ).

thf(2938,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[484]) ).

thf(840,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_826_exp_Osimps_I191_J) ).

thf(4283,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[840]) ).

thf(1180,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_933_trancl__mono) ).

thf(5488,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1180]) ).

thf(62,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_673_exp_Osimps_I63_J) ).

thf(1389,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[62]) ).

thf(496,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_137_pred__subset__eq) ).

thf(2981,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[496]) ).

thf(1059,axiom,
    ( ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = evals ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Oevals_res) ).

thf(5067,plain,
    ( ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = evals ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1059]) ).

thf(847,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_532_WTrtVal) ).

thf(4309,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[847]) ).

thf(526,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_2_1_U) ).

thf(3086,plain,
    ! [A: $i,B: $i] :
      ( ( A @ hBOOL )
      | ~ ( B @ ( A @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[526]) ).

thf(162,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_806_exp_Osimps_I192_J) ).

thf(1752,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[162]) ).

thf(691,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_759_exp_Osimps_I24_J) ).

thf(3736,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[691]) ).

thf(212,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
       != ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_732_is__class__def) ).

thf(1929,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
         != ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ none ) )
       => ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
         != ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ none ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[212]) ).

thf(572,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ override_on ) @ ( B @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ override_on ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ooverride__on_res) ).

thf(3283,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ override_on ) @ ( B @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ override_on ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[572]) ).

thf(952,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
        = ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_959_list__all2__lengthD) ).

thf(4677,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) )
        = ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[952]) ).

thf(566,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) )
      = ( G @ ( E @ ( F @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_949_map__upds__Cons) ).

thf(3266,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) )
      = ( G @ ( E @ ( F @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ option @ ( B @ fun_upd ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ option @ hAPP ) ) ) @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[566]) ).

thf(233,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_753_exp_Osimps_I20_J) ).

thf(2016,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[233]) ).

thf(442,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( L @ ( K @ ( J @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( M @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( K @ ( J @ ( I @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( A @ ( C @ ( L @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_969_WTrt_H__WTrts_H_Ointros_I12_J) ).

thf(2806,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( L @ ( K @ ( J @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( M @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( K @ ( J @ ( I @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( A @ ( C @ ( L @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[442]) ).

thf(499,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_507_redp__redsp_OCastThrow) ).

thf(2991,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[499]) ).

thf(601,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = ( D @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ( C = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_792_same__append__eq) ).

thf(3404,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C = D )
       => ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( C = D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[601]) ).

thf(726,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_612_val_Osimps_I20_J) ).

thf(3868,plain,
    ! [A: $i,B: $i] :
      ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
     != ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[726]) ).

thf(18,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ti ) @ ( A @ ti ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_ti_idem) ).

thf(1226,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ti ) @ ( A @ ti ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[18]) ).

thf(88,axiom,
    ! [A: $i,B: $i] : ( B @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_574_redp__redsp_ORedThrowNull) ).

thf(1488,plain,
    ! [A: $i,B: $i] : ( B @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[88]) ).

thf(264,axiom,
    ! [A: $i] :
      ( ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ start_heap ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Ostart__heap_res) ).

thf(2134,plain,
    ! [A: $i] :
      ( ( A @ start_heap @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ start_heap ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[264]) ).

thf(903,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_405_FAssRedsThrow1) ).

thf(4505,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[903]) ).

thf(552,axiom,
    ( ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
    = assigned ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oassigned_res) ).

thf(3223,plain,
    ( ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
    = assigned ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[552]) ).

thf(896,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_474_BinOpRedsThrow1) ).

thf(4485,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[896]) ).

thf(1033,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] : ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_324_inf__sup__ord_I3_J) ).

thf(4978,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i] : ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1033]) ).

thf(422,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_379__092_060D_062___092_060D_062s_Osimps_I14_J) ).

thf(2738,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[422]) ).

thf(950,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ ( B @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( A @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fconj_1_1_U) ).

thf(4672,plain,
    ! [A: $i,B: $i] :
      ( ( A @ ( B @ ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( A @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[950]) ).

thf(166,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i] :
          ( ( B @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_305_sup__idem) ).

thf(1765,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i] :
          ( ( B @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( A @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[166]) ).

thf(385,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_272_Val) ).

thf(2557,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[385]) ).

thf(578,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combi @ ( A @ ( A @ map ) @ ( A @ list @ ( A @ list @ fun ) @ ( A @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = B ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_795_map__ident) ).

thf(3302,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combi @ ( A @ ( A @ map ) @ ( A @ list @ ( A @ list @ fun ) @ ( A @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = B ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[578]) ).

thf(281,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_194_rtrancl_Ortrancl__into__rtrancl) ).

thf(2193,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[281]) ).

thf(507,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_825_exp_Osimps_I141_J) ).

thf(3023,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[507]) ).

thf(921,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_772_redp__redsp_ORedNew) ).

thf(4558,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[921]) ).

thf(144,axiom,
    ! [A: $i] :
      ( ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ methods ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_OMethods_res) ).

thf(1669,plain,
    ! [A: $i] :
      ( ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ methods ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[144]) ).

thf(696,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( N @ ( K @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( J @ ( I @ ( H @ ( G @ ( F @ ( M @ ( N @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( E @ ( D @ ( C @ ( B @ ( F @ ( L @ ( N @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( C @ ( N @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
              & ( B @ ( G @ ( N @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_966_sees__method__mono2) ).

thf(3751,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( M @ ( L @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( N @ ( K @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( J @ ( I @ ( H @ ( G @ ( F @ ( M @ ( N @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( E @ ( D @ ( C @ ( B @ ( F @ ( L @ ( N @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( ( H @ ( C @ ( N @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
              & ( B @ ( G @ ( N @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[696]) ).

thf(800,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_934_map__upds__apply__nontin) ).

thf(4127,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ map_upds ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[800]) ).

thf(155,axiom,
    ( ( t_1 @ ( ty @ ti ) )
    = t_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_T_____res) ).

thf(1707,plain,
    ( ( t_1 @ ( ty @ ti ) )
    = t_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[155]) ).

thf(1147,axiom,
    ( ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fconj ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fconj_res) ).

thf(5363,plain,
    ( ( fconj @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ ti ) )
    = fconj ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1147]) ).

thf(517,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_376_exp_Osimps_I155_J) ).

thf(3051,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[517]) ).

thf(990,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ none @ ( C @ ( B @ option @ fequal @ ( A @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ combb ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( fNot @ ( A @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_144_dom__def) ).

thf(4796,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ none @ ( C @ ( B @ option @ fequal @ ( A @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ combb ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( B @ option @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ option @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ fun ) @ ( bool @ ( B @ option @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( fNot @ ( A @ ( bool @ ( bool @ combb ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[990]) ).

thf(467,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_962_widens__trans) ).

thf(2891,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[467]) ).

thf(59,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( nt @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( D = null ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_713_conf__NT) ).

thf(1371,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D = null )
       => ( nt @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( nt @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D = null ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[59]) ).

thf(1041,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
     => ( ! [C: $i] :
            ( B
           != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
       => ~ ! [C: $i] :
              ( B
             != ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_411_finalE) ).

thf(5011,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
     => ( ! [C: $i] :
            ( B
           != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
       => ~ ! [C: $i] :
              ( B
             != ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1041]) ).

thf(688,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( object @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_659_subcls__C__Object) ).

thf(3726,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( object @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[688]) ).

thf(547,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( E @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( H @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( E != object )
       => ( ( C @ ( F @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( B
              = ( C @ ( G @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ ( char @ list @ combc ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ combb ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ map ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ append @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) ) )
           => ( B @ ( E @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_785_has__fields__rec) ).

thf(3208,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( E @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( H @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( E != object )
       => ( ( C @ ( F @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( B
              = ( C @ ( G @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ ( char @ list @ combc ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ combb ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ map ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ append @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) ) )
           => ( B @ ( E @ ( D @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[547]) ).

thf(1126,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C != object )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_725_subcls1_Ointros) ).

thf(5282,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( C != object )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1126]) ).

thf(830,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D != C ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_945_subcls1__wfD) ).

thf(4236,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D != C ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[830]) ).

thf(195,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( ( B @ ( A @ ti ) )
           != ( C @ ( A @ ti ) ) ) )
        | ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_937_rtranclD) ).

thf(1865,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( ( B @ ( A @ ti ) )
           != ( C @ ( A @ ti ) ) ) )
        | ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[195]) ).

thf(825,axiom,
    ! [A: $i] :
      ( ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ widen ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Owiden_res) ).

thf(4218,plain,
    ! [A: $i] :
      ( ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ widen ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[825]) ).

thf(925,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( E @ ( C @ ( G @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( H @ ( C @ ( G @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_652_WhileT) ).

thf(4573,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( I @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( E @ ( C @ ( G @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( H @ ( C @ ( G @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[925]) ).

thf(228,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( G @ ( F @ ( A @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_765_ty_Osimps_I26_J) ).

thf(1997,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( G @ ( F @ ( A @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[228]) ).

thf(357,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_264_subset__Un__eq) ).

thf(2442,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
       => ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[357]) ).

thf(1096,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( nt @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_706_widen__null) ).

thf(5190,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( nt @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1096]) ).

thf(1103,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
     => ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_189_hext__new) ).

thf(5207,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
     => ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1103]) ).

thf(706,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_938_rtrancl__into__trancl1) ).

thf(3783,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[706]) ).

thf(619,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_121__092_060D_062___092_060D_062s_Osimps_I3_J) ).

thf(3487,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[619]) ).

thf(838,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_373_exp_Osimps_I136_J) ).

thf(4273,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[838]) ).

thf(29,axiom,
    nt != void,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_709_ty_Osimps_I7_J) ).

thf(1258,plain,
    nt != void,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[29]) ).

thf(387,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ! [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ! [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_17_split__paired__All) ).

thf(2573,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ! [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ! [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ! [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ! [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[387]) ).

thf(320,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i,G: $i] :
            ( ! [H: $i,I: $i,J: $i] :
                ( ( ( H @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
                  = ( J @ ( I @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
               => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( J @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
            & ( F
              = ( G @ ( B @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ map_add ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
            & ( F @ ( C @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_918_sees__methods__decl__mono) ).

thf(2319,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i,G: $i] :
            ( ! [H: $i,I: $i,J: $i] :
                ( ( ( H @ ( G @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
                  = ( J @ ( I @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ some @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) ) )
               => ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( J @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
            & ( F
              = ( G @ ( B @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ ( char @ list @ map_add ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
            & ( F @ ( C @ ( E @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[320]) ).

thf(879,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( ~ ( C @ ( F @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_127_red__reds_OBlockRedSome) ).

thf(4433,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ none @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( ~ ( C @ ( F @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( F @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( F @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[879]) ).

thf(1061,axiom,
    ( ( ea @ ( char @ list @ exp @ ti ) )
    = ea ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_ea_____res) ).

thf(5071,plain,
    ( ( ea @ ( char @ list @ exp @ ti ) )
    = ea ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1061]) ).

thf(962,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_629_exp_Osimps_I208_J) ).

thf(4704,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[962]) ).

thf(1018,axiom,
    ! [A: $i] :
      ( ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ fAss ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OFAss_res) ).

thf(4929,plain,
    ! [A: $i] :
      ( ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ fAss ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1018]) ).

thf(37,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
        | ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_252_Un__iff) ).

thf(1282,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          | ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          | ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[37]) ).

thf(351,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_874_WTrtCallNT) ).

thf(2422,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ ( H @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[351]) ).

thf(180,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
      = ( G @ ( D @ ( C @ ( B @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun_upd ) @ ( C @ ( A @ fun ) @ ( C @ fun ) @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_999_fun__upd__comp) ).

thf(1806,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
      = ( G @ ( D @ ( C @ ( B @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun_upd ) @ ( C @ ( A @ fun ) @ ( C @ fun ) @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[180]) ).

thf(473,axiom,
    ! [A: $i] :
      ( ( A @ ( unit @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_530_binop_Osimps_I3_J) ).

thf(2906,plain,
    ! [A: $i] :
      ( ( A @ ( unit @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[473]) ).

thf(120,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( D @ ( C @ ( B @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_692_redp__redsp_ORedCondF) ).

thf(1603,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( D @ ( C @ ( B @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[120]) ).

thf(100,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [F: $i] :
          ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
          & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
            = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_977_confs__conv__map) ).

thf(1542,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ? [F: $i] :
            ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
              = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) )
       => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i] :
            ( ( E @ ( F @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
              = ( F @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[100]) ).

thf(594,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_222_wf__mdecl__wwf__mdecl) ).

thf(3384,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( wf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[594]) ).

thf(460,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_877_reds__preserves__lconf) ).

thf(2871,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[460]) ).

thf(327,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( void @ ( C @ ( B @ ( A @ ( H @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_715_WTrtFAssNT) ).

thf(2346,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( nt @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( void @ ( C @ ( B @ ( A @ ( H @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[327]) ).

thf(673,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_982_tranclD) ).

thf(3678,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( D @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[673]) ).

thf(191,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ restrict_map ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( B @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_299_restrict__map__empty) ).

thf(1853,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ restrict_map ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( B @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[191]) ).

thf(68,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
    <=> ( ( ( ( F @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
          & ( ( F @ ( A @ ti ) )
           != ( D @ ( A @ ti ) ) ) )
        | ( ( ( E @ ( B @ ti ) )
            = ( G @ ( B @ ti ) ) )
          & ( ( F @ ( A @ ti ) )
            = ( D @ ( A @ ti ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_4_map__upd__Some__unfold) ).

thf(1408,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( ( ( F @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
            & ( ( F @ ( A @ ti ) )
             != ( D @ ( A @ ti ) ) ) )
          | ( ( ( E @ ( B @ ti ) )
              = ( G @ ( B @ ti ) ) )
            & ( ( F @ ( A @ ti ) )
              = ( D @ ( A @ ti ) ) ) ) )
       => ( ( F @ ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( F @ ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
       => ( ( ( ( F @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
              = ( G @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) )
            & ( ( F @ ( A @ ti ) )
             != ( D @ ( A @ ti ) ) ) )
          | ( ( ( E @ ( B @ ti ) )
              = ( G @ ( B @ ti ) ) )
            & ( ( F @ ( A @ ti ) )
              = ( D @ ( A @ ti ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[68]) ).

thf(269,axiom,
    ! [A: $i] :
      ( void
     != ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_605_ty_Osimps_I8_J) ).

thf(2151,plain,
    ! [A: $i] :
      ( void
     != ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[269]) ).

thf(292,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_700_redp__redsp_ORedWhile) ).

thf(2229,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[292]) ).

thf(287,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( D @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_284_restrict__in) ).

thf(2214,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
        = ( D @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[287]) ).

thf(1114,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) )
      = ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_887_set__append) ).

thf(5244,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) )
      = ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1114]) ).

thf(700,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( A @ ti ) )
      = ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_res) ).

thf(3764,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( A @ ti ) )
      = ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[700]) ).

thf(349,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( ( J @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( K @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( ( A @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
            = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
         => ( ( ( D @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) )
              = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
           => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( G @ ( A @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( this @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_951_red__reds_ORedCall) ).

thf(2415,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i] :
      ( ( ( J @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( L @ ( K @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( K @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( ( A @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
            = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
         => ( ( ( D @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) )
              = ( F @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) ) )
           => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( G @ ( A @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( H @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( this @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( J @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[349]) ).

thf(497,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_46_red__lcl__add) ).

thf(2987,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ ( val @ ( char @ list @ map_add ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[497]) ).

thf(202,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( A @ ti ) )
         != ( C @ ( A @ ti ) ) )
       => ~ ! [E: $i] :
              ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_224_rtranclE) ).

thf(1894,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( A @ ti ) )
         != ( C @ ( A @ ti ) ) )
       => ~ ! [E: $i] :
              ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[202]) ).

thf(368,axiom,
    ! [A: $i] :
      ( ( A @ ( null @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_572_binop_Osimps_I4_J) ).

thf(2493,plain,
    ! [A: $i] :
      ( ( A @ ( null @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[368]) ).

thf(753,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( C @ ( B @ product_prod ) @ ti ) )
        = ( F @ ( C @ ( B @ product_prod ) @ ti ) ) )
     => ( ( E @ ( D @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( D @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_55_split__weak__cong) ).

thf(3957,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( C @ ( B @ product_prod ) @ ti ) )
        = ( F @ ( C @ ( B @ product_prod ) @ ti ) ) )
     => ( ( E @ ( D @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( D @ ( A @ ( C @ ( B @ product_prod_case ) ) @ ( A @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[753]) ).

thf(433,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
        = ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_745_exp_Osimps_I1_J) ).

thf(2774,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
          = ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
          = ( C @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[433]) ).

thf(157,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
       != ( B @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_145_domIff) ).

thf(1722,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
         != ( B @ none ) )
       => ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
         != ( B @ none ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[157]) ).

thf(804,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_63_red__reds_ORedInitBlock) ).

thf(4139,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[804]) ).

thf(930,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( c_Expr_Obop_OEq @ ( C @ ( B @ ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_786_bop_Osimps_I3_J) ).

thf(4586,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( c_Expr_Obop_OEq @ ( C @ ( B @ ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[930]) ).

thf(451,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_676_exp_Osimps_I109_J) ).

thf(2839,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[451]) ).

thf(441,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_246_sup1CI) ).

thf(2802,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ~ ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[441]) ).

thf(535,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ? [F: $i] :
            ( ( A @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( F @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_101_hext__objD) ).

thf(3138,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( A @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ? [F: $i] :
            ( ( A @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( F @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[535]) ).

thf(863,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_151_redp__redsp_ORedSeq) ).

thf(4374,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( D @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[863]) ).

thf(647,axiom,
    ( ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = reds ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oreds_res) ).

thf(3586,plain,
    ( ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = reds ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[647]) ).

thf(149,axiom,
    ! [A: $i] :
      ( ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ collect ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Set_OCollect_res) ).

thf(1690,plain,
    ! [A: $i] :
      ( ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ti ) )
      = ( A @ collect ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[149]) ).

thf(542,axiom,
    ! [A: $i,B: $i] :
      ( ! [C: $i,D: $i,E: $i] :
          ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ? [F: $i] :
              ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) )
     => ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_130_hextI) ).

thf(3182,plain,
    ! [A: $i,B: $i] :
      ( ! [C: $i,D: $i,E: $i] :
          ( ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ? [F: $i] :
              ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) )
     => ( A @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[542]) ).

thf(522,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_361_exp_Osimps_I76_J) ).

thf(3066,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[522]) ).

thf(469,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( D @ ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_723_typeof__lit__is__type) ).

thf(2896,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( D @ ( B @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[469]) ).

thf(893,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_266_Un__absorb2) ).

thf(4477,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[893]) ).

thf(221,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_381_FAccRedsThrow) ).

thf(1969,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[221]) ).

thf(1121,axiom,
    ! [A: $i] :
      ( ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_prog ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__prog_res) ).

thf(5267,plain,
    ! [A: $i] :
      ( ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_prog ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1121]) ).

thf(42,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i] :
            ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( E @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_412_eval__cases_I9_J) ).

thf(1307,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i] :
            ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( E @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[42]) ).

thf(278,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_40_sconf__def) ).

thf(2180,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ combc ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combc ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( fconj @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ combb ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( bool @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( bool @ combb ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ combb ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( bool @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ combs ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod_case ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[278]) ).

thf(550,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_185_set__rev__mp) ).

thf(3219,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[550]) ).

thf(1149,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_234_extend__eval) ).

thf(5367,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( F @ ( E @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( A @ ( D @ ( C @ ( G @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1149]) ).

thf(518,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( B @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_970_confs__hext) ).

thf(3055,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( B @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[518]) ).

thf(258,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_790_append__assoc) ).

thf(2111,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( C @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[258]) ).

thf(227,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_374_exp_Osimps_I161_J) ).

thf(1993,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[227]) ).

thf(709,axiom,
    nat @ lattice,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Lattices_Olattice) ).

thf(3800,plain,
    nat @ lattice,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[709]) ).

thf(839,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_512_Class__widen__Class) ).

thf(4277,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[839]) ).

thf(194,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ product_prod ) @ the_1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_HOL_OThe_res) ).

thf(1862,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_prod ) @ the_1 @ ( B @ ( A @ product_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ product_prod ) @ the_1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[194]) ).

thf(610,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( ( B @ ( A @ ti ) )
           != ( C @ ( A @ ti ) ) ) )
        | ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_935_rtrancl__eq__or__trancl) ).

thf(3451,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( B @ ( A @ ti ) )
             != ( C @ ( A @ ti ) ) ) )
          | ( ( B @ ( A @ ti ) )
            = ( C @ ( A @ ti ) ) ) )
       => ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( B @ ( A @ ti ) )
             != ( C @ ( A @ ti ) ) ) )
          | ( ( B @ ( A @ ti ) )
            = ( C @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[610]) ).

thf(758,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_395_ThrowReds) ).

thf(3971,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[758]) ).

thf(299,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ? [E: $i,F: $i] :
            ( ( B @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
        & ( B != object ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_728_subcls1D) ).

thf(2252,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ? [E: $i,F: $i] :
            ( ( B @ ( D @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
        & ( B != object ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[299]) ).

thf(1174,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
            = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_333_sup__absorb1) ).

thf(5459,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
            = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1174]) ).

thf(508,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( C @ ( B @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_275_eval__finalId) ).

thf(3027,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( C @ ( B @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[508]) ).

thf(49,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_495_exp_Osimps_I55_J) ).

thf(1339,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[49]) ).

thf(873,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_64_conf__widen) ).

thf(4420,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[873]) ).

thf(326,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) )
      = ( G @ ( F @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_879_blocks_Osimps_I1_J) ).

thf(2343,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( val @ cons @ ( val @ list @ ( val @ list @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ cons @ ( char @ list @ list @ ( char @ list @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) )
      = ( G @ ( F @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[326]) ).

thf(669,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_509_red__reds_OCastRed) ).

thf(3668,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[669]) ).

thf(1001,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_142_redp__redsp_OLAssRed) ).

thf(4833,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1001]) ).

thf(206,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_288_redp__redsp_OFAssRed1) ).

thf(1909,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ ( E @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[206]) ).

thf(1127,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ! [H: $i,I: $i,J: $i,K: $i,L: $i] : ( L @ ( K @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( J @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_10_prod__induct5) ).

thf(5286,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ! [H: $i,I: $i,J: $i,K: $i,L: $i] : ( L @ ( K @ ( E @ ( D @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( E @ fun ) @ ( D @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( E @ hAPP ) ) ) @ ( J @ ( E @ ( D @ product_prod ) @ ( C @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( I @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ fun ) @ ( B @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ hAPP ) ) ) @ ( H @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ hAPP ) ) ) @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( G @ ( bool @ ( E @ ( D @ product_prod ) @ ( C @ product_prod ) @ ( B @ product_prod ) @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1127]) ).

thf(760,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( C @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_915_sees__methods__fun) ).

thf(3977,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( C @ ( A @ methods @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ product_prod ) @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B = E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[760]) ).

thf(46,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_259_sup__Un__eq) ).

thf(1325,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ combc ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[46]) ).

thf(78,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( E @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_851_map_Osimps_I2_J) ).

thf(1460,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) )
      = ( E @ ( C @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[78]) ).

thf(1093,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_421_exp_Osimps_I114_J) ).

thf(5180,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1093]) ).

thf(480,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i] :
            ( ! [G: $i] :
                ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( G @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
           => ( F @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
       => ( B @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_989_subcls__induct) ).

thf(2928,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i] :
            ( ! [G: $i] :
                ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( G @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
           => ( F @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
       => ( B @ ( C @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[480]) ).

thf(61,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( ( D @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_875_WTrts__Val) ).

thf(1381,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( D @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
          = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) )
       => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
          = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[61]) ).

thf(731,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( nt @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_712_WTrt_H__WTrts_H_Ointros_I9_J) ).

thf(3893,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( nt @ ( G @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[731]) ).

thf(475,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_36_split__paired__Ex) ).

thf(2911,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ? [D: $i] : ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i,E: $i] : ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[475]) ).

thf(634,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_150_empty__map__add) ).

thf(3539,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[634]) ).

thf(829,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i] :
              ( D
             != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ~ ! [F: $i] :
                ( D
               != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_520_final__addrE) ).

thf(4232,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i] :
              ( D
             != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ~ ! [F: $i] :
                ( D
               != ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[829]) ).

thf(1151,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
        = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) )
    <=> ( ( A @ hBOOL )
      <=> ( B @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_613_val_Osimps_I1_J) ).

thf(5372,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( ( B @ hBOOL )
           => ( A @ hBOOL ) )
          & ( ( A @ hBOOL )
           => ( B @ hBOOL ) ) )
       => ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
          = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) ) )
      & ( ( ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) )
          = ( B @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) ) )
       => ( ( ( B @ hBOOL )
           => ( A @ hBOOL ) )
          & ( ( A @ hBOOL )
           => ( B @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1151]) ).

thf(449,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_485_redp__redsp_OCastRed) ).

thf(2835,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[449]) ).

thf(1067,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( nat @ dom ) @ ( bool @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( A @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( nat @ member @ ( bool @ ( bool @ ( nat @ fun ) @ fun ) @ ( nat @ hAPP ) ) ) @ ( bool @ ( bool @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_618_preallocated__dom) ).

thf(5094,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( nat @ dom ) @ ( bool @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( A @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( nat @ member @ ( bool @ ( bool @ ( nat @ fun ) @ fun ) @ ( nat @ hAPP ) ) ) @ ( bool @ ( bool @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1067]) ).

thf(95,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_837_bigs__by__smalls) ).

thf(1528,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[95]) ).

thf(902,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_253_Un__assoc) ).

thf(4502,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[902]) ).

thf(712,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( C @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( B @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( C @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_535_typeof__lit__typeof) ).

thf(3806,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none @ ( nat @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ combk ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( C @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( B @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( C @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[712]) ).

thf(999,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( D @ ( F @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_924_fun__upds__append2__drop) ).

thf(4827,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
        = ( F @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
     => ( ( D @ ( F @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( C @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[999]) ).

thf(751,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_238_eval__lcl__incr) ).

thf(3953,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[751]) ).

thf(681,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( C @ ( A @ combs ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( F @ ( D @ ( B @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBS_1_1_U) ).

thf(3706,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( C @ ( A @ combs ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( F @ ( D @ ( B @ ( C @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[681]) ).

thf(256,axiom,
    ! [A: $i] :
      ( ( A @ the @ ( A @ ( A @ option @ fun ) @ ti ) )
      = ( A @ the ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Option_Othe_res) ).

thf(2101,plain,
    ! [A: $i] :
      ( ( A @ the @ ( A @ ( A @ option @ fun ) @ ti ) )
      = ( A @ the ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[256]) ).

thf(491,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_28_red__preserves__lconf) ).

thf(2967,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( E @ ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( H @ ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[491]) ).

thf(313,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_351_eval__evals_OFAccThrow) ).

thf(2303,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[313]) ).

thf(783,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_390_Throw) ).

thf(4067,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[783]) ).

thf(822,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_838_evals__hext) ).

thf(4209,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[822]) ).

thf(1141,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_382_eval__evals_OSeqThrow) ).

thf(5340,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1141]) ).

thf(7,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ comp ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Fun_Ocomp_res) ).

thf(1198,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ comp ) ) @ ( B @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ comp ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[7]) ).

thf(1056,axiom,
    ( ( is_refT @ ( bool @ ( ty @ fun ) @ ti ) )
    = is_refT ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Ois__refT_res) ).

thf(5057,plain,
    ( ( is_refT @ ( bool @ ( ty @ fun ) @ ti ) )
    = is_refT ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1056]) ).

thf(967,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ ti ) @ ( C @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_arg2) ).

thf(4720,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ ti ) @ ( C @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[967]) ).

thf(211,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
        = ( I @ ( H @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) )
     => ( ( E @ ( G @ ( B @ ( A @ hAPP ) ) ) @ ( F @ ( C @ ( B @ hAPP ) ) ) )
        = ( E @ ( I @ ( D @ ( A @ hAPP ) ) ) @ ( H @ ( C @ ( D @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_995_o__eq__dest) ).

thf(1926,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) )
        = ( I @ ( H @ ( A @ ( C @ ( D @ comp ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ fun ) @ ( C @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( D @ ( A @ fun ) @ hAPP ) ) ) ) )
     => ( ( E @ ( G @ ( B @ ( A @ hAPP ) ) ) @ ( F @ ( C @ ( B @ hAPP ) ) ) )
        = ( E @ ( I @ ( D @ ( A @ hAPP ) ) ) @ ( H @ ( C @ ( D @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[211]) ).

thf(489,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_132_red__lcl__incr) ).

thf(2962,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[489]) ).

thf(788,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fun ) @ ti ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hAPP_arg1) ).

thf(4085,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fun ) @ ti ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[788]) ).

thf(248,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_813_exp_Osimps_I157_J) ).

thf(2064,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[248]) ).

thf(860,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_311_sup__left__idem) ).

thf(4362,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[860]) ).

thf(426,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_260_sup1I1) ).

thf(2752,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( B @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[426]) ).

thf(72,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [E: $i,F: $i,G: $i] :
          ( ( E != object )
          & ( ( E @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
            = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
          & ( D = F )
          & ( C = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_730_subcls1p_Osimps) ).

thf(1435,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ? [E: $i,F: $i,G: $i] :
            ( ( E != object )
            & ( ( E @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( D = F )
            & ( C = E ) )
       => ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ? [E: $i,F: $i,G: $i] :
            ( ( E != object )
            & ( ( E @ ( B @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
              = ( G @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( D = F )
            & ( C = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[72]) ).

thf(541,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_115_exp_Osimps_I84_J) ).

thf(3178,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[541]) ).

thf(937,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( H @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( I @ ( char @ list @ distinct @ ( bool @ ( char @ list @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( I @ ( C @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( char @ list @ set @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( C @ ( F @ ( val @ option @ ( char @ list @ override_on ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( I @ ( F @ ( val @ the @ ( char @ list @ ( val @ ( val @ option @ comp ) ) @ ( val @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ ( val @ option @ fun ) @ hAPP ) ) ) @ ( val @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ ( char @ list @ map ) @ ( val @ list @ ( char @ list @ list @ fun ) @ ( val @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( H @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_988_blocksReds) ).

thf(4626,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( ( I @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( H @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( J @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( I @ ( char @ list @ distinct @ ( bool @ ( char @ list @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( I @ ( C @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( char @ list @ set @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( C @ ( F @ ( val @ option @ ( char @ list @ override_on ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( I @ ( F @ ( val @ the @ ( char @ list @ ( val @ ( val @ option @ comp ) ) @ ( val @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ ( val @ option @ fun ) @ hAPP ) ) ) @ ( val @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ ( char @ list @ map ) @ ( val @ list @ ( char @ list @ list @ fun ) @ ( val @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ list @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( H @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( I @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[937]) ).

thf(501,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ~ ( D @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
          = ( A @ none ) ) )
      & ( ( D @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
          = ( E @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_292_restrict__map__def) ).

thf(2999,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ~ ( D @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
          = ( A @ none ) ) )
      & ( ( D @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( A @ ( B @ restrict_map ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ option @ ( B @ hAPP ) ) ) )
          = ( E @ ( C @ ( A @ option @ ( B @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[501]) ).

thf(1065,axiom,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( outOfMemory @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_541_typeof__OutOfMemory) ).

thf(5089,plain,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( outOfMemory @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( outOfMemory @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1065]) ).

thf(373,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [H: $i,I: $i] :
            ( ( E
              = ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
           => ! [J: $i,K: $i] :
                ( ( G
                  = ( B @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
               => ~ ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ none @ ( B @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_276_eval__cases_I8_J) ).

thf(2506,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [H: $i,I: $i] :
            ( ( E
              = ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
           => ! [J: $i,K: $i] :
                ( ( G
                  = ( B @ ( I @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
               => ~ ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ none @ ( B @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[373]) ).

thf(105,axiom,
    nat @ ord,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Oord) ).

thf(1562,plain,
    nat @ ord,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[105]) ).

thf(975,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( nt @ ( G @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_711_WTrtFAccNT) ).

thf(4741,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( nt @ ( G @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ ( G @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[975]) ).

thf(181,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_628_exp_Osimps_I148_J) ).

thf(1809,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[181]) ).

thf(142,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
      = ( C @ ( A @ ( B @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_2_fun__upd__triv) ).

thf(1662,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) )
      = ( C @ ( A @ ( B @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[142]) ).

thf(11,axiom,
    add != c_Expr_Obop_OEq,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_649_bop_Osimps_I2_J) ).

thf(1208,plain,
    add != c_Expr_Obop_OEq,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[11]) ).

thf(671,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_665_exp_Osimps_I87_J) ).

thf(3672,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[671]) ).

thf(239,axiom,
    ! [A: $i] :
      ( ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ is_class ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Ois__class_res) ).

thf(2037,plain,
    ! [A: $i] :
      ( ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ is_class ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[239]) ).

thf(850,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i] :
          ( ! [E: $i] : ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_227_le__funI) ).

thf(4319,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ord )
     => ! [C: $i,D: $i] :
          ( ! [E: $i] : ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ hAPP ) ) ) @ ( B @ ord_less_eq @ ( bool @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( B @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( B @ ( A @ fun ) @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[850]) ).

thf(843,axiom,
    p @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_3_assms) ).

thf(4292,plain,
    p @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[843]) ).

thf(813,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( B @ ( A @ lex_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( ( H @ ( F @ ( D @ ( B @ ( B @ product_Pair ) @ ( B @ ( B @ product_prod ) @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( ( C @ ( A @ ti ) )
            = ( E @ ( A @ ti ) ) ) )
        | ( G @ ( E @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_49_in__lex__prod) ).

thf(4177,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( ( ( H @ ( F @ ( D @ ( B @ ( B @ product_Pair ) @ ( B @ ( B @ product_prod ) @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( C @ ( A @ ti ) )
              = ( E @ ( A @ ti ) ) ) )
          | ( G @ ( E @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( H @ ( G @ ( B @ ( A @ lex_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( H @ ( G @ ( B @ ( A @ lex_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( H @ ( F @ ( D @ ( B @ ( B @ product_Pair ) @ ( B @ ( B @ product_prod ) @ ( B @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( B @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( B @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( ( C @ ( A @ ti ) )
              = ( E @ ( A @ ti ) ) ) )
          | ( G @ ( E @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[813]) ).

thf(1087,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_352_eval__evals_OThrowThrow) ).

thf(5165,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1087]) ).

thf(82,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_681_exp_Osimps_I206_J) ).

thf(1472,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[82]) ).

thf(928,axiom,
    ( ( addr @ ( val @ ( nat @ fun ) @ ti ) )
    = addr ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OAddr_res) ).

thf(4581,plain,
    ( ( addr @ ( val @ ( nat @ fun ) @ ti ) )
    = addr ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[928]) ).

thf(470,axiom,
    ! [A: $i] :
      ( ~ ( A @ hBOOL )
      | ~ ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_1_1_U) ).

thf(2899,plain,
    ! [A: $i] :
      ( ~ ( A @ hBOOL )
      | ~ ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[470]) ).

thf(101,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ lex_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ lex_prod ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Wellfounded_Olex__prod_res) ).

thf(1551,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ lex_prod ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( B @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ lex_prod ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[101]) ).

thf(389,axiom,
    nat @ linorder,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Olinorder) ).

thf(2582,plain,
    nat @ linorder,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[389]) ).

thf(1165,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( ( B @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_192_hconf__new) ).

thf(5435,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) )
       => ( ( B @ ( E @ ( D @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( D @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1165]) ).

thf(852,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_638_exp_Osimps_I165_J) ).

thf(4331,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[852]) ).

thf(868,axiom,
    ( ( bool_1 @ ( val @ ( bool @ fun ) @ ti ) )
    = bool_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_OBool_res) ).

thf(4405,plain,
    ( ( bool_1 @ ( val @ ( bool @ fun ) @ ti ) )
    = bool_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[868]) ).

thf(113,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_830_red__reds_OCallThrowObj) ).

thf(1583,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[113]) ).

thf(164,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_94_domD) ).

thf(1758,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( ( C @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( E @ ( B @ some @ ( B @ option @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[164]) ).

thf(1011,axiom,
    ( ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = new_Addr ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Onew__Addr_res) ).

thf(4901,plain,
    ( ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = new_Addr ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1011]) ).

thf(80,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( H @ ( B @ ( E @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_834_CallNull) ).

thf(1467,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( H @ ( B @ ( E @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[80]) ).

thf(1008,axiom,
    ! [A: $i] :
      ( ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Osubcls1_res) ).

thf(4886,plain,
    ! [A: $i] :
      ( ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1008]) ).

thf(597,axiom,
    ! [A: $i,B: $i] :
      ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( nullPointer @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( outOfMemory @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( classCast @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_609_sys__xcpts__cases) ).

thf(3395,plain,
    ! [A: $i,B: $i] :
      ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( nullPointer @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( outOfMemory @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( classCast @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( A @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[597]) ).

thf(435,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_854_red__reds_OListRed2) ).

thf(2784,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[435]) ).

thf(304,axiom,
    ( ( outOfMemory @ ( char @ list @ ti ) )
    = outOfMemory ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_OOutOfMemory_res) ).

thf(2271,plain,
    ( ( outOfMemory @ ( char @ list @ ti ) )
    = outOfMemory ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[304]) ).

thf(576,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          <=> ( ( C @ ( A @ ti ) )
              = ( B @ ( A @ ti ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_214_order__antisym__conv) ).

thf(3293,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( ( ( C @ ( A @ ti ) )
                = ( B @ ( A @ ti ) ) )
             => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
            & ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
             => ( ( C @ ( A @ ti ) )
                = ( B @ ( A @ ti ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[576]) ).

thf(364,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ? [E: $i] :
          ( C
          = ( E @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ! [E: $i] :
          ( ( C @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ? [F: $i] :
              ( ( E @ ( B @ ti ) )
              = ( F @ ( D @ ( B @ ( A @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_903_ex__map__conv) ).

thf(2471,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ! [E: $i] :
            ( ( C @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ? [F: $i] :
                ( ( E @ ( B @ ti ) )
                = ( F @ ( D @ ( B @ ( A @ hAPP ) ) ) ) ) )
       => ? [E: $i] :
            ( C
            = ( E @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ? [E: $i] :
            ( C
            = ( E @ ( D @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ! [E: $i] :
            ( ( C @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ? [F: $i] :
                ( ( E @ ( B @ ti ) )
                = ( F @ ( D @ ( B @ ( A @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[364]) ).

thf(485,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [D: $i,E: $i] :
          ( ~ ( E @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( C
            = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_901_in__set__conv__decomp__last) ).

thf(2942,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i,E: $i] :
            ( ~ ( E @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
       => ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i,E: $i] :
            ( ~ ( E @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
            & ( C
              = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[485]) ).

thf(168,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ combb ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBB_1_1_U) ).

thf(1770,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( A @ ( B @ ( C @ combb ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ hAPP ) ) ) )
      = ( F @ ( E @ ( C @ ( A @ hAPP ) ) ) @ ( D @ ( B @ ( C @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[168]) ).

thf(738,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( E @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_54_map__add__dom__app__simps_I1_J) ).

thf(3913,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( E @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( E @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[738]) ).

thf(407,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( bool @ option_case ) @ ( bool @ ( A @ option @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( A @ option @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ option @ hAPP ) ) ) @ hBOOL )
     => ( ( ( ( D @ ( A @ option @ ti ) )
            = ( A @ none ) )
         => ~ ( B @ hBOOL ) )
       => ~ ! [E: $i] :
              ( ( ( D @ ( A @ option @ ti ) )
                = ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
             => ~ ( E @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_585_option__caseE) ).

thf(2661,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ ( bool @ option_case ) @ ( bool @ ( A @ option @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( A @ option @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ option @ hAPP ) ) ) @ hBOOL )
     => ( ( ( ( D @ ( A @ option @ ti ) )
            = ( A @ none ) )
         => ~ ( B @ hBOOL ) )
       => ~ ! [E: $i] :
              ( ( ( D @ ( A @ option @ ti ) )
                = ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
             => ~ ( E @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[407]) ).

thf(525,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_677_exp_Osimps_I199_J) ).

thf(3082,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[525]) ).

thf(121,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_398_red__reds_OSeqThrow) ).

thf(1605,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[121]) ).

thf(137,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_647_WhileCondThrow) ).

thf(1647,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[137]) ).

thf(750,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_364_exp_Osimps_I151_J) ).

thf(3949,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[750]) ).

thf(411,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E = F )
     => ( ! [G: $i] :
            ( ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( G @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( G @ ( C @ ( A @ ( B @ hAPP ) ) ) )
              = ( G @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) )
       => ( ( E @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
          = ( F @ ( D @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_913_map__cong) ).

thf(2678,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E = F )
     => ( ! [G: $i] :
            ( ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( G @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( G @ ( C @ ( A @ ( B @ hAPP ) ) ) )
              = ( G @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) )
       => ( ( E @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
          = ( F @ ( D @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[411]) ).

thf(908,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_453_exp_Osimps_I168_J) ).

thf(4517,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[908]) ).

thf(727,axiom,
    ! [A: $i] :
      ( ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_355_fv__fvs_Osimps_I14_J) ).

thf(3872,plain,
    ! [A: $i] :
      ( ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[727]) ).

thf(1063,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
        = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
    <=> ( ( B @ ( A @ ti ) )
        = ( C @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_44_option_Oinject) ).

thf(5079,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) )
       => ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) )
          = ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
       => ( ( B @ ( A @ ti ) )
          = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1063]) ).

thf(272,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_501_exp_Osimps_I53_J) ).

thf(2160,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[272]) ).

thf(933,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [G: $i,H: $i] :
          ( ( H @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( G @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( ( H @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
            = ( E @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
          & ( ( G @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
            = ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
          & ( F
            = ( H @ ( G @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_980_list__all2__append1) ).

thf(4593,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ? [G: $i,H: $i] :
            ( ( H @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( G @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( H @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
              = ( E @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
            & ( ( G @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
              = ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
            & ( F
              = ( H @ ( G @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
       => ( F @ ( E @ ( D @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( F @ ( E @ ( D @ ( B @ append @ ( B @ list @ ( B @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ? [G: $i,H: $i] :
            ( ( H @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( G @ ( D @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
            & ( ( H @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
              = ( E @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
            & ( ( G @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
              = ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) )
            & ( F
              = ( H @ ( G @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[933]) ).

thf(448,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_442_exp_Osimps_I107_J) ).

thf(2831,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[448]) ).

thf(374,axiom,
    ( ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = typeof_h ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Otypeof__h_res) ).

thf(2513,plain,
    ( ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = typeof_h ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[374]) ).

thf(978,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
            = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
         => ( H @ ( G @ ( E @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( F @ ( E @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_103_mem__splitI2) ).

thf(4749,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
            = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
         => ( H @ ( G @ ( E @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( F @ ( E @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[978]) ).

thf(834,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( B @ none ) )
    <=> ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) )
        & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_147_map__add__None) ).

thf(4255,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) )
          & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
          = ( B @ none ) )
       => ( ( ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) )
          & ( ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) )
            = ( B @ none ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[834]) ).

thf(1172,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( ( F
            = ( val @ none @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( D @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_171_BlockRedsFinal) ).

thf(5452,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
       => ( ( F
            = ( val @ none @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( D @ ( I @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1172]) ).

thf(161,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_499_exp_Osimps_I47_J) ).

thf(1748,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[161]) ).

thf(342,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_153_redp__redsp_ORedBlock) ).

thf(2397,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[342]) ).

thf(1130,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_545_WTrt_H__WTrts_H_Ointros_I3_J) ).

thf(5294,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1130]) ).

thf(124,axiom,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_313_inf__sup__aci_I7_J) ).

thf(1611,plain,
    ! [A: $i] :
      ( ( A @ lattice )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[124]) ).

thf(1074,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_646_exp_Osimps_I88_J) ).

thf(5111,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1074]) ).

thf(246,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_695_CondReds) ).

thf(2060,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[246]) ).

thf(1155,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_943_trancl__into__trancl2) ).

thf(5399,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1155]) ).

thf(913,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_774_oconf__init__fields) ).

thf(4534,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[913]) ).

thf(666,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ( B @ ( A @ fun ) @ semilattice_sup ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Lattices_Osemilattice__sup) ).

thf(3659,plain,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ( B @ ( A @ fun ) @ semilattice_sup ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[666]) ).

thf(27,axiom,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fTrue_1_1_T) ).

thf(1252,plain,
    ! [A: $i] :
      ( ( ( A @ ( bool @ ti ) )
        = fFalse )
      | ( ( A @ ( bool @ ti ) )
        = fTrue ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[27]) ).

thf(1179,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_428_exp_Osimps_I71_J) ).

thf(5484,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1179]) ).

thf(841,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( H @ ( A @ ( D @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_852_eval__evals_OCons) ).

thf(4287,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( H @ ( A @ ( D @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( A @ ( E @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[841]) ).

thf(890,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ produc1605651328_split ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Ointernal__split_res) ).

thf(4469,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ produc1605651328_split ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[890]) ).

thf(979,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( G @ ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ combb ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_965_list__all2__map1) ).

thf(4754,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( G @ ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ combb ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( G @ ( F @ ( E @ ( B @ ( C @ map ) @ ( B @ list @ ( C @ list @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( B @ list @ ( C @ list @ hAPP ) ) ) @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ combb ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ ( C @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( C @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[979]) ).

thf(1027,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [F: $i] :
            ( ( F @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_478_WTrt__elim__cases_I4_J) ).

thf(4961,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ! [F: $i] :
            ( ( F @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ~ ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1027]) ).

thf(338,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_prod_rec ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Oprod_Oprod__rec_res) ).

thf(2386,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_prod_rec ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_prod_rec ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[338]) ).

thf(424,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_125_hconf__upd__obj) ).

thf(2747,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( F @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[424]) ).

thf(609,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ option_case ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ option @ hAPP ) ) ) )
      = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_551_option_Osimps_I5_J) ).

thf(3448,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( B @ option_case ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ option @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ option @ hAPP ) ) ) )
      = ( E @ ( D @ ( B @ ( A @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[609]) ).

thf(1111,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( A @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_481_preallocated__upd__obj) ).

thf(5235,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( A @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1111]) ).

thf(477,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_462_red__reds_OBinOpRed1) ).

thf(2920,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[477]) ).

thf(582,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ? [D: $i,E: $i,F: $i] :
          ( ( object @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_731_class__Object) ).

thf(3344,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ? [D: $i,E: $i,F: $i] :
          ( ( object @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
          = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[582]) ).

thf(172,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_580_ThrowRedsNull) ).

thf(1785,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[172]) ).

thf(354,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_589_rtranclp_Ortrancl__refl) ).

thf(2429,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[354]) ).

thf(806,axiom,
    ( ( nullPointer @ ( char @ list @ ti ) )
    = nullPointer ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_ONullPointer_res) ).

thf(4145,plain,
    ( ( nullPointer @ ( char @ list @ ti ) )
    = nullPointer ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[806]) ).

thf(636,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i] :
          ( ( B @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( A @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_304_sup_Oidem) ).

thf(3544,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i] :
          ( ( B @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( B @ ( A @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[636]) ).

thf(1084,axiom,
    ! [A: $i,B: $i] :
      ( ! [C: $i] :
          ( ( B @ ( A @ option @ ti ) )
         != ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
    <=> ( ( B @ ( A @ option @ ti ) )
        = ( A @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_140_not__Some__eq) ).

thf(5152,plain,
    ! [A: $i,B: $i] :
      ( ( ( ( B @ ( A @ option @ ti ) )
          = ( A @ none ) )
       => ! [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
           != ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) ) )
      & ( ! [C: $i] :
            ( ( B @ ( A @ option @ ti ) )
           != ( C @ ( A @ some @ ( A @ option @ ( A @ hAPP ) ) ) ) )
       => ( ( B @ ( A @ option @ ti ) )
          = ( A @ none ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1084]) ).

thf(719,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i,F: $i] :
          ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_239_predicate2I) ).

thf(3847,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ! [E: $i,F: $i] :
          ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[719]) ).

thf(973,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_261_sup1I2) ).

thf(4737,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[973]) ).

thf(111,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_929_r__into__trancl_H) ).

thf(1579,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[111]) ).

thf(702,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_839_reds__hext__incr) ).

thf(3769,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( B @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[702]) ).

thf(1163,axiom,
    ( ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrt ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Progress_OWTrt_H_res) ).

thf(5431,plain,
    ( ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrt ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1163]) ).

thf(662,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = ( C @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ( B = D ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_793_append__same__eq) ).

thf(3642,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B = D )
       => ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( C @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( B = D ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[662]) ).

thf(1161,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_309_sup_Oleft__idem) ).

thf(5420,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1161]) ).

thf(748,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( A @ ti ) )
         != ( C @ ( A @ ti ) ) )
       => ~ ! [E: $i] :
              ( ( D @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_225_converse__rtranclE) ).

thf(3940,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( B @ ( A @ ti ) )
         != ( C @ ( A @ ti ) ) )
       => ~ ! [E: $i] :
              ( ( D @ ( E @ ( B @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[748]) ).

thf(579,axiom,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_604_ty_Osimps_I9_J) ).

thf(3305,plain,
    ! [A: $i] :
      ( ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) )
     != void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[579]) ).

thf(815,axiom,
    ! [A: $i] :
      ( ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1p ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Osubcls1p_res) ).

thf(4190,plain,
    ! [A: $i] :
      ( ( A @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ subcls1p ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[815]) ).

thf(182,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( D @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( G @ ( F @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( E @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_29_prod__cases3) ).

thf(1813,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ~ ! [E: $i,F: $i,G: $i] :
          ( ( D @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ti ) )
         != ( G @ ( F @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) @ ( E @ ( C @ ( B @ product_prod ) @ ( A @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( A @ product_prod ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[182]) ).

thf(41,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( ( G @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
        & ( F @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_963_list__all2__Cons) ).

thf(1300,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( G @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( F @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
       => ( G @ ( F @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( G @ ( F @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( E @ ( D @ ( B @ cons @ ( B @ list @ ( B @ list @ fun ) @ ( B @ hAPP ) ) ) @ ( B @ list @ ( B @ list @ hAPP ) ) ) @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( G @ ( E @ ( C @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
          & ( F @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[41]) ).

thf(413,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i] :
            ( ( D
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
           => ~ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ( ( D
              = ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
           => ~ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [F: $i] :
                ( ( D
                  = ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( E @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_583_eval__cases_I12_J) ).

thf(2688,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [F: $i] :
            ( ( D
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
           => ~ ( E @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ( ( D
              = ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
           => ~ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [F: $i] :
                ( ( D
                  = ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( E @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[413]) ).

thf(414,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_433_exp_Osimps_I112_J) ).

thf(2700,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[414]) ).

thf(1,conjecture,
    p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',conj_0) ).

thf(2,negated_conjecture,
    ~ ( p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(neg_conjecture,[status(cth)],[1]) ).

thf(1186,plain,
    ~ ( p @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( l_a @ ( h_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( e_a @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( v @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( v_1 @ ( la @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( ha @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ea @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[2]) ).

thf(771,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( F @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( F @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_656_WhileTReds) ).

thf(4020,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( F @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( F @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[771]) ).

thf(1042,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( D @ ( C @ ( B @ ( F @ ( K @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_902_mdecl__visible) ).

thf(5015,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( K @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( I @ ( H @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( F @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( I @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ set @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( E @ ( D @ ( C @ ( B @ ( F @ ( K @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1042]) ).

thf(686,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_387_redp__redsp_OFAssThrow1) ).

thf(3722,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[686]) ).

thf(224,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( E @ ( B @ ti ) )
         != ( F @ ( B @ ti ) ) )
       => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( B @ ti ) )
          = ( F @ ( B @ ti ) ) )
       => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_22_fun__upd__apply) ).

thf(1980,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( ( E @ ( B @ ti ) )
         != ( F @ ( B @ ti ) ) )
       => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( B @ ti ) )
          = ( F @ ( B @ ti ) ) )
       => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( D @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[224]) ).

thf(1047,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_763_exp_Osimps_I39_J) ).

thf(5030,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1047]) ).

thf(710,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_547_wt__wt_H) ).

thf(3801,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[710]) ).

thf(1035,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_245_sup1E) ).

thf(4982,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1035]) ).

thf(602,axiom,
    ! [A: $i] :
      ( ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ while ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OWhile_res) ).

thf(3412,plain,
    ! [A: $i] :
      ( ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ while ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[602]) ).

thf(643,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ! [C: $i,D: $i,E: $i] :
          ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
         => ? [F: $i] :
              ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_102_hext__def) ).

thf(3564,plain,
    ! [A: $i,B: $i] :
      ( ( ! [C: $i,D: $i,E: $i] :
            ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ? [F: $i] :
                ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) )
       => ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( B @ ( A @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ! [C: $i,D: $i,E: $i] :
            ( ( ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ? [F: $i] :
                ( ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( F @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[643]) ).

thf(15,axiom,
    ! [A: $i] :
      ( ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ bop_case ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_Obop__case_res) ).

thf(1218,plain,
    ! [A: $i] :
      ( ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ bop_case ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[15]) ).

thf(1171,axiom,
    ( ( v_1 @ ( char @ list @ ti ) )
    = v_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_V_____res) ).

thf(5450,plain,
    ( ( v_1 @ ( char @ list @ ti ) )
    = v_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1171]) ).

thf(529,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( B = D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_484_exp_Osimps_I2_J) ).

thf(3095,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[529]) ).

thf(347,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_335_sup__least) ).

thf(2411,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[347]) ).

thf(603,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_400_redp__redsp_OBlockThrow) ).

thf(3415,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[603]) ).

thf(452,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_358_exp_Osimps_I91_J) ).

thf(2843,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[452]) ).

thf(1038,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_906_sees__method__is__class) ).

thf(4991,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( B @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1038]) ).

thf(388,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_247_Un__absorb) ).

thf(2579,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[388]) ).

thf(878,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( B @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_856_list__eval__Throw) ).

thf(4431,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( F @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( E @ ( B @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( C @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[878]) ).

thf(114,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( E @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_894_has__fields__types) ).

thf(1585,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ set @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( E @ ( A @ is_type @ ( bool @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[114]) ).

thf(1177,axiom,
    ! [A: $i] :
      ( ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
      = ( A @ cast ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OCast_res) ).

thf(5472,plain,
    ! [A: $i] :
      ( ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ti ) )
      = ( A @ cast ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1177]) ).

thf(588,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_295_exp_Osimps_I174_J) ).

thf(3366,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[588]) ).

thf(502,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_496_exp_Osimps_I54_J) ).

thf(3007,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[502]) ).

thf(872,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( C @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_863_finals__app__map) ).

thf(4414,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[872]) ).

thf(410,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_73_split__conv) ).

thf(2675,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( C @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[410]) ).

thf(245,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_110_exp_Osimps_I142_J) ).

thf(2056,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[245]) ).

thf(66,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ ( B @ product_curry ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_82_curryD) ).

thf(1404,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ ( B @ product_curry ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[66]) ).

thf(1082,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_521_BinOpRedsVal) ).

thf(5147,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( H @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( F @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1082]) ).

thf(190,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_448_exp_Osimps_I204_J) ).

thf(1849,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[190]) ).

thf(664,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_819_exp_Osimps_I185_J) ).

thf(3652,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[664]) ).

thf(353,axiom,
    ! [A: $i] :
      ( ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ block ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OBlock_res) ).

thf(2426,plain,
    ! [A: $i] :
      ( ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ fun ) @ ti ) )
      = ( A @ block ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[353]) ).

thf(802,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_756_exp_Osimps_I29_J) ).

thf(4133,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[802]) ).

thf(98,axiom,
    ! [A: $i] :
      ( ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ blank ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oblank_res) ).

thf(1536,plain,
    ! [A: $i] :
      ( ( A @ blank @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ blank ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[98]) ).

thf(178,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_242_Reds__dom__lcl) ).

thf(1802,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[178]) ).

thf(622,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( F @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( B @ ( H @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( G @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_48_lconf__upd2) ).

thf(3493,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( F @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( B @ ( H @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( G @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[622]) ).

thf(880,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_494_exp_Osimps_I51_J) ).

thf(4436,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[880]) ).

thf(379,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_739_exp_Osimps_I37_J) ).

thf(2543,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[379]) ).

thf(832,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( A @ ( G @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( A @ ( B @ ( H @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_483_WTrtTry) ).

thf(4246,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( A @ ( G @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( E @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( C @ ( A @ ( B @ ( H @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( F @ ( E @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[832]) ).

thf(1113,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_289_exp_Osimps_I78_J) ).

thf(5240,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1113]) ).

thf(16,axiom,
    ( ( c_Expr_Obop_OEq @ ( bop @ ti ) )
    = c_Expr_Obop_OEq ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Obop_OEq_res) ).

thf(1221,plain,
    ( ( c_Expr_Obop_OEq @ ( bop @ ti ) )
    = c_Expr_Obop_OEq ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[16]) ).

thf(494,axiom,
    ! [A: $i] :
      ( ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ class_1 ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Decl_Oclass_res) ).

thf(2975,plain,
    ! [A: $i] :
      ( ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ class_1 ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[494]) ).

thf(1019,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ product_Pair ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_OPair_res) ).

thf(4932,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ ti ) )
      = ( B @ ( A @ product_Pair ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1019]) ).

thf(915,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( L @ ( K @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( I @ ( H @ ( G @ ( F @ ( L @ ( M @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( B @ ( F @ ( K @ ( M @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( M @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_907_sees__method__decl__mono) ).

thf(4538,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( L @ ( K @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( I @ ( H @ ( G @ ( F @ ( L @ ( M @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( E @ ( D @ ( C @ ( B @ ( F @ ( K @ ( M @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( M @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( J @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[915]) ).

thf(70,axiom,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_34_prod_Oexhaust) ).

thf(1427,plain,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[70]) ).

thf(959,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_460_fv__fvs_Osimps_I4_J) ).

thf(4695,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[959]) ).

thf(176,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_312_sup_Oleft__commute) ).

thf(1797,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[176]) ).

thf(791,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F = void )
         => ! [G: $i] :
              ( ( ( D @ ( C @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
                = ( G @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
             => ! [H: $i] :
                  ( ( H @ ( E @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                 => ~ ( G @ ( H @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_166_WTrt__elim__cases_I1_J) ).

thf(4093,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F = void )
         => ! [G: $i] :
              ( ( ( D @ ( C @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
                = ( G @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
             => ! [H: $i] :
                  ( ( H @ ( E @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
                 => ~ ( G @ ( H @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[791]) ).

thf(532,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combs ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combs ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBS_res) ).

thf(3117,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ combs ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ combs ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[532]) ).

thf(836,axiom,
    ( ( h_a @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = h_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_h_Ha_____res) ).

thf(4267,plain,
    ( ( h_a @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ti ) )
    = h_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[836]) ).

thf(827,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] :
          ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          & ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ~ ! [D: $i,E: $i] :
            ( ? [F: $i] :
                ( C
                = ( F @ ( E @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
           => ~ ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_896_split__list__propE) ).

thf(4225,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ? [D: $i] :
          ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
          & ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ~ ! [D: $i,E: $i] :
            ( ? [F: $i] :
                ( C
                = ( F @ ( E @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
           => ~ ( E @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[827]) ).

thf(199,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B = C )
    <=> ( C @ ( B @ ( A @ fequal @ ( A @ ( A @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_961_list__all2__eq) ).

thf(1881,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( C @ ( B @ ( A @ fequal @ ( A @ ( A @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( B = C ) )
      & ( ( B = C )
       => ( C @ ( B @ ( A @ fequal @ ( A @ ( A @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[199]) ).

thf(1070,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_881_redp__redsp_OListRed1) ).

thf(5100,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( redsp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1070]) ).

thf(997,axiom,
    ! [A: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != unit ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_414_val_Osimps_I11_J) ).

thf(4819,plain,
    ! [A: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != unit ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[997]) ).

thf(574,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_334_le__supI) ).

thf(3288,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[574]) ).

thf(23,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_84_internal__split__def) ).

thf(1240,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ produc1605651328_split ) ) )
      = ( C @ ( B @ ( A @ product_prod_case ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[23]) ).

thf(127,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_502_exp_Osimps_I52_J) ).

thf(1617,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[127]) ).

thf(479,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_439_exp_Osimps_I152_J) ).

thf(2924,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[479]) ).

thf(698,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_240_eval__hext) ).

thf(3757,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[698]) ).

thf(970,axiom,
    ( ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrt_1 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellTypeRT_OWTrt_res) ).

thf(4727,plain,
    ( ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wTrt_1 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[970]) ).

thf(982,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_630_exp_Osimps_I179_J) ).

thf(4770,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[982]) ).

thf(251,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_639_exp_Osimps_I164_J) ).

thf(2078,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[251]) ).

thf(316,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_300_redp__redsp_OFAssRed2) ).

thf(2310,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( G @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[316]) ).

thf(4,axiom,
    unit != null,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_563_val_Osimps_I4_J) ).

thf(1189,plain,
    unit != null,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[4]) ).

thf(75,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_576_FAccNull) ).

thf(1453,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[75]) ).

thf(513,axiom,
    t @ ( ea @ ( v @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( v_1 @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( t_1 @ ( v_1 @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( e @ ( ha @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_39_InitBlockRed_I5_J) ).

thf(3039,plain,
    t @ ( ea @ ( v @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( v_1 @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( t_1 @ ( v_1 @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( e @ ( ha @ ( p @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[513]) ).

thf(650,axiom,
    ( ( v_1 @ ( l_a @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
    = ( v_2 @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_0_InitBlockRed_I3_J) ).

thf(3593,plain,
    ( ( v_1 @ ( l_a @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
    = ( v_2 @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[650]) ).

thf(458,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_449_exp_Osimps_I105_J) ).

thf(2865,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[458]) ).

thf(462,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_775_New) ).

thf(2875,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( G @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( E @ ( D @ ( C @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B
            = ( E @ ( init_fields @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) ) )
         => ( A @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[462]) ).

thf(214,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ ( B @ product_curry ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_81_curryE) ).

thf(1940,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ ( B @ product_curry ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[214]) ).

thf(749,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_619_binop_Osimps_I5_J) ).

thf(3946,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[749]) ).

thf(918,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_434_exp_Osimps_I225_J) ).

thf(4548,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[918]) ).

thf(842,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( D
          = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_586_Class__widen) ).

thf(4289,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ? [E: $i] :
          ( D
          = ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[842]) ).

thf(646,axiom,
    ( ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = red ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Ored_res) ).

thf(3584,plain,
    ( ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = red ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[646]) ).

thf(945,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_675_exp_Osimps_I108_J) ).

thf(4651,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[945]) ).

thf(656,axiom,
    ! [A: $i,B: $i] :
      ( ( A @ ( B @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fdisj_1_1_U) ).

thf(3620,plain,
    ! [A: $i,B: $i] :
      ( ( A @ ( B @ ( fdisj @ ( bool @ ( bool @ fun ) @ ( bool @ hAPP ) ) ) @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ~ ( B @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[656]) ).

thf(1181,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_26_widen__refl) ).

thf(5490,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1181]) ).

thf(138,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_853_ConsThrow) ).

thf(1649,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( A @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( D @ ( A @ ( C @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( B @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[138]) ).

thf(960,axiom,
    ! [A: $i] :
      ( ( A @ finals @ ( bool @ ( A @ exp @ list @ fun ) @ ti ) )
      = ( A @ finals ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_BigStep_Ofinals_res) ).

thf(4698,plain,
    ! [A: $i] :
      ( ( A @ finals @ ( bool @ ( A @ exp @ list @ fun ) @ ti ) )
      = ( A @ finals ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[960]) ).

thf(329,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i] :
            ( ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( G @ ( F @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ! [H: $i] :
              ( ( H @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( G @ ( F @ ( H @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [H: $i] :
                ( ( F
                  = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( G @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_733_eval__cases_I10_J) ).

thf(2352,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [H: $i] :
            ( ( H @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ~ ( G @ ( F @ ( H @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ! [H: $i] :
              ( ( H @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( G @ ( F @ ( H @ ( D @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
         => ~ ! [H: $i] :
                ( ( F
                  = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( G @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[329]) ).

thf(242,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) @ ( C @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) @ ( nat @ ord_less_eq @ ( bool @ ( nat @ fun ) @ ( nat @ hAPP ) ) ) @ ( bool @ ( nat @ hAPP ) ) ) @ hBOOL )
     => ( C
       != ( D @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_932_impossible__Cons) ).

thf(2045,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) @ ( C @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) @ ( nat @ ord_less_eq @ ( bool @ ( nat @ fun ) @ ( nat @ hAPP ) ) ) @ ( bool @ ( nat @ hAPP ) ) ) @ hBOOL )
     => ( C
       != ( D @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[242]) ).

thf(528,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combi @ ( A @ ( A @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_COMBI_1_1_U) ).

thf(3092,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ combi @ ( A @ ( A @ hAPP ) ) ) )
      = ( B @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[528]) ).

thf(183,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_76_mem__def) ).

thf(1817,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[183]) ).

thf(539,axiom,
    ! [A: $i] :
      ( unit
     != ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_413_val_Osimps_I10_J) ).

thf(3171,plain,
    ! [A: $i] :
      ( unit
     != ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[539]) ).

thf(488,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( F @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_782_sees__field__idemp) ).

thf(2960,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( D @ ( F @ ( B @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[488]) ).

thf(94,axiom,
    ! [A: $i] :
      ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [B: $i] :
            ( A
            = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
        | ( A = nt ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_714_is__refT__def) ).

thf(1517,plain,
    ! [A: $i] :
      ( ( ( ? [B: $i] :
              ( A
              = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
          | ( A = nt ) )
       => ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( A @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ? [B: $i] :
              ( A
              = ( B @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
          | ( A = nt ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[94]) ).

thf(1075,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_367_exp_Osimps_I180_J) ).

thf(5115,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1075]) ).

thf(985,axiom,
    ! [A: $i] :
      ( ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ sees_field ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Osees__field_res) ).

thf(4780,plain,
    ! [A: $i] :
      ( ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ sees_field ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[985]) ).

thf(397,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_331_le__supI2) ).

thf(2611,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[397]) ).

thf(743,axiom,
    nat @ order,
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_Nat_Onat___Orderings_Oorder) ).

thf(3928,plain,
    nat @ order,
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[743]) ).

thf(14,axiom,
    ( ( void @ ( ty @ ti ) )
    = void ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Oty_OVoid_res) ).

thf(1216,plain,
    ( ( void @ ( ty @ ti ) )
    = void ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[14]) ).

thf(286,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_105_mem__splitE) ).

thf(2209,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( F @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( H @ ( G @ ( E @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[286]) ).

thf(314,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_974_confs__widens) ).

thf(2305,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( F @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( E @ ( D @ ( C @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ ( val @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[314]) ).

thf(811,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_451_exp_Osimps_I99_J) ).

thf(4170,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[811]) ).

thf(110,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_480_red__reds_ORedTryCatch) ).

thf(1575,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( C @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[110]) ).

thf(888,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_773_has__fields__fun) ).

thf(4463,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( B = E ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[888]) ).

thf(1138,axiom,
    ! [A: $i] :
      ( ( A @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_221_wf__prog__wwf__prog) ).

thf(5332,plain,
    ! [A: $i] :
      ( ( A @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( A @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1138]) ).

thf(744,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_330_le__supI1) ).

thf(3929,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( B @ ( D @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[744]) ).

thf(159,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_891_map__fun__upd) ).

thf(1734,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( B @ set @ ( bool @ ( B @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( D @ ( E @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) )
        = ( F @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[159]) ).

thf(1094,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ~ ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_343_sup2CI) ).

thf(5184,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ~ ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1094]) ).

thf(1055,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( D @ ( C @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( I @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_172_oconf__fupd) ).

thf(5055,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( G @ ( F @ ( E @ ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( D @ ( C @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( I @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1055]) ).

thf(1134,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_861_ListReds1) ).

thf(5315,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1134]) ).

thf(394,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( G @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( H @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( F @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( H @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( E @ ( D @ ( F @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
        <=> ( ? [I: $i] :
                ( ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
                & ( ( F @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
                  = ( I @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) )
            & ( E @ ( D @ ( H @ ( G @ ( C @ ( ty @ ( char @ list @ map_upds ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_956_wt__blocks) ).

thf(2594,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( G @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( H @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( F @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( H @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( ( ? [I: $i] :
                  ( ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
                  & ( ( F @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
                    = ( I @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) )
              & ( E @ ( D @ ( H @ ( G @ ( C @ ( ty @ ( char @ list @ map_upds ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
           => ( E @ ( D @ ( F @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
          & ( ( E @ ( D @ ( F @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( ? [I: $i] :
                  ( ( H @ ( I @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
                  & ( ( F @ ( B @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ map ) @ ( ty @ option @ list @ ( val @ list @ fun ) @ ( ty @ option @ ( val @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( val @ list @ hAPP ) ) ) )
                    = ( I @ ( ty @ some @ ( ty @ option @ ( ty @ map ) @ ( ty @ option @ list @ ( ty @ list @ fun ) @ ( ty @ option @ ( ty @ fun ) @ hAPP ) ) ) @ ( ty @ option @ list @ ( ty @ list @ hAPP ) ) ) ) ) )
              & ( E @ ( D @ ( H @ ( G @ ( C @ ( ty @ ( char @ list @ map_upds ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[394]) ).

thf(305,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_446_exp_Osimps_I183_J) ).

thf(2273,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( I @ ( H @ ( G @ ( F @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[305]) ).

thf(255,axiom,
    ! [A: $i] :
      ( ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ call ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OCall_res) ).

thf(2098,plain,
    ! [A: $i] :
      ( ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ call ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[255]) ).

thf(949,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
    <=> ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_505__092_060D_062___092_060D_062s_Osimps_I2_J) ).

thf(4666,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[949]) ).

thf(384,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod_case ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( H @ ( G @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ fun ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod_case ) ) @ ( C @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_59_split__twice) ).

thf(2554,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod_case ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) )
      = ( H @ ( G @ ( F @ ( C @ ( B @ ( A @ product_prod_case ) ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ combb ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ fun ) @ ( C @ ( E @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ ( B @ ( A @ product_prod ) @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod_case ) ) @ ( C @ ( E @ ( D @ product_prod ) @ fun ) @ ( C @ ( E @ fun ) @ ( D @ fun ) @ hAPP ) ) ) @ ( C @ ( E @ ( D @ product_prod ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[384]) ).

thf(954,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( sys_xcpts @ ( D @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_623_is__class__xcpt) ).

thf(4683,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( sys_xcpts @ ( D @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[954]) ).

thf(776,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_467_red__reds_OBinOpThrow1) ).

thf(4042,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[776]) ).

thf(854,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( B @ ( A @ ti ) )
              = ( C @ ( A @ ti ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_209_order__antisym) ).

thf(4338,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( B @ ( A @ ti ) )
              = ( C @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[854]) ).

thf(430,axiom,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_35_PairE) ).

thf(2764,plain,
    ! [A: $i,B: $i,C: $i] :
      ~ ! [D: $i,E: $i] :
          ( ( C @ ( B @ ( A @ product_prod ) @ ti ) )
         != ( E @ ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[430]) ).

thf(998,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_742_exp_Osimps_I18_J) ).

thf(4823,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[998]) ).

thf(705,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ dom ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Odom_res) ).

thf(3780,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ dom ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[705]) ).

thf(653,axiom,
    ! [A: $i] :
      ( ( A @ list @ size_size @ ( nat @ ( A @ list @ fun ) @ ti ) )
      = ( A @ list @ size_size ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Nat_Osize__class_Osize_res) ).

thf(3613,plain,
    ! [A: $i] :
      ( ( A @ list @ size_size @ ( nat @ ( A @ list @ fun ) @ ti ) )
      = ( A @ list @ size_size ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[653]) ).

thf(1015,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( A @ ( B @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_873_WTrts__hext__mono) ).

thf(4913,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( A @ ( B @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1015]) ).

thf(339,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( L @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( L @ ( M @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( L @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( N @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( N @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( K @ ( A @ ( B @ ( F @ ( J @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_477_TryCatch) ).

thf(2389,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i,N: $i] :
      ( ( N @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( L @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( L @ ( M @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( G @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( L @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( N @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( M @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
           => ( B @ ( N @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( B @ ( E @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( K @ ( A @ ( B @ ( F @ ( J @ ( char @ list @ tryCatch @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( I @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[339]) ).

thf(83,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_27_red__preserves__hconf) ).

thf(1476,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[83]) ).

thf(146,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_223_Red__fv) ).

thf(1674,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[146]) ).

thf(708,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [C: $i,D: $i,E: $i] :
            ( B
            = ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ cons @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) ) )
        | ? [C: $i] :
            ( B
            = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_868_finals__def) ).

thf(3789,plain,
    ! [A: $i,B: $i] :
      ( ( ( ? [C: $i,D: $i,E: $i] :
              ( B
              = ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ cons @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) ) )
          | ? [C: $i] :
              ( B
              = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) ) ) )
       => ( B @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( B @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL )
       => ( ? [C: $i,D: $i,E: $i] :
              ( B
              = ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ cons @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( A @ exp @ append @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) ) )
          | ? [C: $i] :
              ( B
              = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ map ) @ ( A @ exp @ list @ ( val @ list @ fun ) @ ( A @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( A @ exp @ list @ ( val @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[708]) ).

thf(682,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_644_exp_Osimps_I220_J) ).

thf(3709,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[682]) ).

thf(134,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( B @ ti ) )
       != ( F @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_20_fun__upd__other) ).

thf(1639,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( B @ ti ) )
       != ( F @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( F @ ( C @ ( A @ ( B @ fun_upd ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[134]) ).

thf(1123,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ none @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( ~ ( D @ ( G @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_159_redp__redsp_OBlockRedSome) ).

thf(5272,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( val @ none @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( J @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( ~ ( D @ ( G @ ( assigned @ ( bool @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
         => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( J @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( H @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1123]) ).

thf(310,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( J @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( void @ ( A @ ( E @ ( C @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_557_WTrt_H__WTrts_H_Ointros_I10_J) ).

thf(2290,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( I @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( C @ ( J @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
           => ( void @ ( A @ ( E @ ( C @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[310]) ).

thf(444,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_51_splitI) ).

thf(2811,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( A @ ( B @ product_Pair ) @ ( A @ ( B @ product_prod ) @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( A @ ( B @ product_prod ) @ ( A @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( B @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[444]) ).

thf(965,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_270_fv__fvs_Osimps_I11_J) ).

thf(4715,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[965]) ).

thf(131,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_939_trancl__rtrancl__trancl) ).

thf(1629,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[131]) ).

thf(230,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_57_map__add__dom__app__simps_I2_J) ).

thf(2004,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ~ ( E @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
        = ( D @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[230]) ).

thf(695,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_337_red__reds_ORedFAcc) ).

thf(3748,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( ( F @ ( E @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( H @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
          = ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( A @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[695]) ).

thf(659,axiom,
    ( ( e_a @ ( char @ list @ exp @ ti ) )
    = e_a ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_e_Ha_____res) ).

thf(3630,plain,
    ( ( e_a @ ( char @ list @ exp @ ti ) )
    = e_a ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[659]) ).

thf(396,axiom,
    ! [A: $i] :
      ( ( A @ combi @ ( A @ ( A @ fun ) @ ti ) )
      = ( A @ combi ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_COMBI_res) ).

thf(2608,plain,
    ! [A: $i] :
      ( ( A @ combi @ ( A @ ( A @ fun ) @ ti ) )
      = ( A @ combi ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[396]) ).

thf(355,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_510_red__reds_OCastThrow) ).

thf(2431,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[355]) ).

thf(629,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_603_WTrtCast) ).

thf(3516,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( F @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[629]) ).

thf(1064,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_97_mem__splitI) ).

thf(5087,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) @ ( E @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( D @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1064]) ).

thf(263,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B @ ( E @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_599_redp__redsp_ORedCast) ).

thf(2130,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B @ ( E @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1p @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtranclp @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[263]) ).

thf(103,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( B @ ( D @ ( C @ ( B @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_693_redp__redsp_ORedCondT) ).

thf(1558,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( B @ ( D @ ( C @ ( B @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[103]) ).

thf(482,axiom,
    ( ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wwf_J_mdecl ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WWellForm_Owwf__J__mdecl_res) ).

thf(2934,plain,
    ( ( wwf_J_mdecl @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = wwf_J_mdecl ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[482]) ).

thf(301,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_525_CastFail) ).

thf(2262,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ~ ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[301]) ).

thf(885,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C = H )
          & ( B = G ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_781_sees__field__fun) ).

thf(4451,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( F @ ( E @ ( D @ ( A @ sees_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( C = H )
          & ( B = G ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[885]) ).

thf(341,axiom,
    ! [A: $i] :
      ( ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_cdecl ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_WellForm_Owf__cdecl_res) ).

thf(2394,plain,
    ! [A: $i] :
      ( ( A @ wf_cdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ fun ) @ ti ) )
      = ( A @ wf_cdecl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[341]) ).

thf(232,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_203_rtrancl__induct) ).

thf(2009,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[232]) ).

thf(983,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( G @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_482_CastRedsAddr) ).

thf(4774,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( F @ ( G @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( H @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[983]) ).

thf(1045,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_517_Cast) ).

thf(5023,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( D @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( I @ ( H @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( F @ ( E @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1045]) ).

thf(330,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_340_red__reds_OInitBlockThrow) ).

thf(2362,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[330]) ).

thf(122,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_871_reds__preserves__sconf) ).

thf(1607,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( C @ ( A @ ( D @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( A @ ( G @ ( typeSa1166768941_sconf @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[122]) ).

thf(765,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_744_exp_Osimps_I40_J) ).

thf(3993,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( C @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[765]) ).

thf(1081,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) )
        = ( C @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_19_fun__upd__idem) ).

thf(5144,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ hAPP ) ) ) )
        = ( E @ ( B @ ti ) ) )
     => ( ( E @ ( D @ ( C @ ( B @ ( A @ fun_upd ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ fun ) @ ( B @ hAPP ) ) ) )
        = ( C @ ( B @ ( A @ fun ) @ ti ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1081]) ).

thf(1076,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( B @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( B @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_764_new__Addr__SomeD) ).

thf(5119,plain,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( new_Addr @ ( nat @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) )
        = ( B @ ( nat @ some @ ( nat @ option @ ( nat @ hAPP ) ) ) ) )
     => ( ( B @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ none ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1076]) ).

thf(318,axiom,
    ( ( obj_ty @ ( ty @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ti ) )
    = obj_ty ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Objects_Oobj__ty_res) ).

thf(2315,plain,
    ( ( obj_ty @ ( ty @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ti ) )
    = obj_ty ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[318]) ).

thf(924,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ list_all2 ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Olist__all2_res) ).

thf(4570,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ list_all2 ) @ ( bool @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ list_all2 ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[924]) ).

thf(846,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
            = ( C @ ( A @ ti ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_332_sup__absorb2) ).

thf(4306,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
            = ( C @ ( A @ ti ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[846]) ).

thf(125,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ( B @ ( A @ fun ) @ lattice ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',arity_fun___Lattices_Olattice) ).

thf(1614,plain,
    ! [A: $i,B: $i] :
      ( ( B @ lattice )
     => ( B @ ( A @ fun ) @ lattice ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[125]) ).

thf(1005,axiom,
    ( ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ fun ) @ ti ) )
    = blocks ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oblocks_res) ).

thf(4855,plain,
    ( ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ fun ) @ ti ) )
    = blocks ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1005]) ).

thf(436,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_567_redp__redsp_ORedCastNull) ).

thf(2786,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[436]) ).

thf(1086,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_593_rtranclp__sup__rtranclp) ).

thf(5162,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1086]) ).

thf(844,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_841_red__reds_OCallParams) ).

thf(4293,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[844]) ).

thf(851,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( B = D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_112_exp_Osimps_I11_J) ).

thf(4321,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[851]) ).

thf(343,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_641_exp_Osimps_I223_J) ).

thf(2399,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[343]) ).

thf(809,axiom,
    ! [A: $i] :
      ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ! [B: $i] :
          ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ? [C: $i] :
              ( ( B @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_622_preallocated__def) ).

thf(4153,plain,
    ! [A: $i] :
      ( ( ! [B: $i] :
            ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ? [C: $i] :
                ( ( B @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) )
       => ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( A @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ! [B: $i] :
            ( ( sys_xcpts @ ( B @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ? [C: $i] :
                ( ( B @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( C @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[809]) ).

thf(824,axiom,
    ! [A: $i] :
      ( null
     != ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_564_val_Osimps_I16_J) ).

thf(4214,plain,
    ! [A: $i] :
      ( null
     != ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[824]) ).

thf(403,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_923_map__add__upds) ).

thf(2648,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[403]) ).

thf(932,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_466_red__reds_OBinOpRed2) ).

thf(4591,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[932]) ).

thf(1158,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_683_exp_Osimps_I207_J) ).

thf(5409,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1158]) ).

thf(283,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) @ ( B @ some @ ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) @ ( B @ ( B @ option @ option_case ) @ ( B @ option @ ( B @ option @ fun ) @ ( B @ option @ ( B @ fun ) @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( B @ option @ fun ) @ ( B @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( B @ option @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_555_map__add__def) ).

thf(2198,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( E @ ( D @ ( B @ option @ ( A @ hAPP ) ) ) @ ( B @ some @ ( E @ ( C @ ( B @ option @ ( A @ hAPP ) ) ) @ ( B @ ( B @ option @ option_case ) @ ( B @ option @ ( B @ option @ fun ) @ ( B @ option @ ( B @ fun ) @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( B @ option @ fun ) @ ( B @ option @ ( B @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( B @ option @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[283]) ).

thf(254,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_844_fv__fvs_Osimps_I9_J) ).

thf(2095,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( C @ ( fvs @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[254]) ).

thf(786,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ? [D: $i,E: $i] :
          ( C
          = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_900_in__set__conv__decomp) ).

thf(4074,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ? [D: $i,E: $i] :
            ( C
            = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( A @ set @ ( bool @ ( A @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( B @ ( A @ member @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [D: $i,E: $i] :
            ( C
            = ( E @ ( B @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[786]) ).

thf(476,axiom,
    ! [A: $i] :
      ( ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ cond ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OCond_res) ).

thf(2917,plain,
    ! [A: $i] :
      ( ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ cond ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[476]) ).

thf(401,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
    <=> ? [F: $i] :
          ( ( ( C
              = ( E @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
            & ( ( F @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
              = D ) )
          | ( ( ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
              = E )
            & ( B
              = ( F @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_791_append__eq__append__conv2) ).

thf(2623,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ? [F: $i] :
            ( ( ( C
                = ( E @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
              & ( ( F @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
                = D ) )
            | ( ( ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
                = E )
              & ( B
                = ( F @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) )
       => ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
       => ? [F: $i] :
            ( ( ( C
                = ( E @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) )
              & ( ( F @ ( B @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
                = D ) )
            | ( ( ( C @ ( F @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) )
                = E )
              & ( B
                = ( F @ ( D @ ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[401]) ).

thf(799,axiom,
    ( ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = redp ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_SmallStep_Oredp_res) ).

thf(4125,plain,
    ( ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
    = redp ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[799]) ).

thf(1040,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_354_redp__redsp_OThrowRed) ).

thf(5009,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1040]) ).

thf(270,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_322_redp__redsp_ORedFAss) ).

thf(2155,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( E @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( B @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[270]) ).

thf(725,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( add @ ( C @ ( B @ ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( C @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_787_bop_Osimps_I4_J) ).

thf(3865,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( add @ ( C @ ( B @ ( A @ bop_case @ ( A @ ( bop @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( bop @ hAPP ) ) ) )
      = ( C @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[725]) ).

thf(392,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_386_redp__redsp_OLAssThrow) ).

thf(2587,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( B @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[392]) ).

thf(19,axiom,
    ( ( null @ ( val @ ti ) )
    = null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Value_Oval_ONull_res) ).

thf(1229,plain,
    ( ( null @ ( val @ ti ) )
    = null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[19]) ).

thf(129,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( object @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_691_is__class__Object) ).

thf(1625,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( object @ ( C @ ( A @ is_class @ ( bool @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[129]) ).

thf(486,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_315_sup_Oassoc) ).

thf(2951,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) )
          = ( D @ ( C @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) @ ( B @ ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[486]) ).

thf(631,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_697_red__reds_ORedCondT) ).

thf(3521,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[631]) ).

thf(534,axiom,
    ! [A: $i] :
      ( ( A @ ( bool @ ti ) @ hBOOL )
    <=> ( A @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_hBOOL_arg1) ).

thf(3132,plain,
    ! [A: $i] :
      ( ( ( A @ hBOOL )
       => ( A @ ( bool @ ti ) @ hBOOL ) )
      & ( ( A @ ( bool @ ti ) @ hBOOL )
       => ( A @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[534]) ).

thf(898,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_457_redp__redsp_OBinOpThrow1) ).

thf(4491,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[898]) ).

thf(1115,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_752_exp_Osimps_I21_J) ).

thf(5247,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1115]) ).

thf(545,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_418_BinOpRedsThrow2) ).

thf(3203,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[545]) ).

thf(1050,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( A @ ti ) )
              = ( B @ ( A @ ti ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_207_xt1_I5_J) ).

thf(5041,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( ( C @ ( A @ ti ) )
              = ( B @ ( A @ ti ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1050]) ).

thf(775,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_985_override__on__apply__notin) ).

thf(4039,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ~ ( F @ ( E @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
        = ( E @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[775]) ).

thf(52,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_464_redp__redsp_OBinOpThrow2) ).

thf(1348,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[52]) ).

thf(135,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_539_binop_Osimps_I6_J) ).

thf(1642,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( add @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
      = ( val @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[135]) ).

thf(1017,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( C = F )
        & ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_808_exp_Osimps_I9_J) ).

thf(4917,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( C = F )
          & ( B = E ) )
       => ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( C = F )
          & ( B = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1017]) ).

thf(795,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_187_subset__trans) ).

thf(4114,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[795]) ).

thf(891,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_154_oconf__hext) ).

thf(4472,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( D @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( B @ ( C @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[891]) ).

thf(723,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_342_sup2E) ).

thf(3860,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( ~ ( F @ ( E @ ( C @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[723]) ).

thf(148,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i,I: $i] :
            ( ( E
              = ( I @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
           => ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( F @ ( I @ ( H @ ( C @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( C @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_864_evals__cases_I2_J) ).

thf(1678,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ! [G: $i,H: $i,I: $i] :
            ( ( E
              = ( I @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
           => ( ( H @ ( G @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( F @ ( I @ ( H @ ( C @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ~ ! [G: $i] :
              ( ( E
                = ( C @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
             => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[148]) ).

thf(707,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_679_exp_Osimps_I176_J) ).

thf(3785,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[707]) ).

thf(627,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_67_red__reds_ORedSeq) ).

thf(3511,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[627]) ).

thf(859,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_971_wts_H__iff__wts) ).

thf(4356,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[859]) ).

thf(766,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
        & ! [D: $i,E: $i] :
            ( ( ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
           => ( E @ ( C @ ( B @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_420_hconf__def) ).

thf(3997,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ! [D: $i,E: $i] :
              ( ( ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
             => ( E @ ( C @ ( B @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
       => ( C @ ( B @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( C @ ( B @ ( A @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ! [D: $i,E: $i] :
              ( ( ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
                = ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
             => ( E @ ( C @ ( B @ ( A @ oconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[766]) ).

thf(590,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_473_BinOp2Reds) ).

thf(3373,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[590]) ).

thf(611,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( null @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
    <=> ( D @ ( nt @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_716_conf__Null) ).

thf(3464,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( nt @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( null @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( null @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( nt @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[611]) ).

thf(395,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_633_exp_Osimps_I201_J) ).

thf(2604,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[395]) ).

thf(446,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( C = E )
        & ( B = D ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_642_exp_Osimps_I13_J) ).

thf(2815,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( ( C = E )
          & ( B = D ) )
       => ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( E @ ( D @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( C = E )
          & ( B = D ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[446]) ).

thf(421,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( A @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_96_WTrt__hext__mono) ).

thf(2736,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( A @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( D @ ( A @ ( B @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[421]) ).

thf(431,axiom,
    ! [A: $i] :
      ( ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtrancl ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Transitive__Closure_Ortrancl_res) ).

thf(2768,plain,
    ! [A: $i] :
      ( ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( A @ transitive_rtrancl ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[431]) ).

thf(85,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( L @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( L @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( K @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) ) )
         => ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( K @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( E @ ( B @ ( A @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_280_FAssRedsVal) ).

thf(1480,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( L @ ( K @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( I @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( L @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( K @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) ) )
         => ( M @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( K @ ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( J @ ( E @ ( B @ ( A @ ( I @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[85]) ).

thf(641,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_375_exp_Osimps_I154_J) ).

thf(3558,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[641]) ).

thf(616,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_685_eval__evals_OCondThrow) ).

thf(3479,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[616]) ).

thf(174,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_635_exp_Osimps_I110_J) ).

thf(1789,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[174]) ).

thf(332,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
     => ( D @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( E @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_855_redp__redsp_OCallThrowParams) ).

thf(2366,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E
        = ( H @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ map ) @ ( char @ list @ exp @ list @ ( val @ list @ fun ) @ ( char @ list @ exp @ ( val @ fun ) @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ append @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) ) )
     => ( D @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( E @ ( C @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[332]) ).

thf(1116,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_559_FAccRedsNull) ).

thf(5251,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1116]) ).

thf(240,axiom,
    ! [A: $i] :
      ( ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ has_field ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Ohas__field_res) ).

thf(2040,plain,
    ! [A: $i] :
      ( ( A @ has_field @ ( bool @ ( char @ list @ fun ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ has_field ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[240]) ).

thf(325,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_651_fv__fvs_Osimps_I13_J) ).

thf(2340,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) )
      = ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ semilattice_sup_sup @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[325]) ).

thf(51,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_942_Transitive__Closure_Otrancl__into__trancl) ).

thf(1346,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( B @ ( D @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( A @ transitive_trancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[51]) ).

thf(381,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( E @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_86_WTrtBlock) ).

thf(2549,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) @ ( D @ ( C @ ( ty @ option @ ( char @ list @ fun_upd ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ option @ ( char @ list @ fun ) @ ( ty @ option @ hAPP ) ) ) @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( E @ ( D @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[381]) ).

thf(580,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E
            = ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ~ ( F @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ! [G: $i] :
              ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ! [H: $i,I: $i] :
                  ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ~ ( F @ ( E @ ( I @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
         => ( ! [G: $i] :
                ( ( E
                  = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
           => ~ ! [G: $i,H: $i] :
                  ( ( E
                    = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
                 => ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                   => ~ ( F @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_658_eval__cases_I11_J) ).

thf(3309,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( E
            = ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) ) )
         => ~ ( F @ ( fFalse @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ! [G: $i] :
              ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
             => ! [H: $i,I: $i] :
                  ( ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                 => ~ ( F @ ( E @ ( I @ ( C @ ( B @ ( char @ list @ while @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) )
         => ( ! [G: $i] :
                ( ( E
                  = ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
               => ~ ( F @ ( G @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) )
           => ~ ! [G: $i,H: $i] :
                  ( ( E
                    = ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) ) )
                 => ( ( G @ ( fTrue @ ( bool_1 @ ( val @ ( bool @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
                   => ~ ( F @ ( H @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( G @ ( C @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[580]) ).

thf(762,axiom,
    ! [A: $i] :
      ( ( A @ ord )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D = B )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_211_ord__le__eq__trans) ).

thf(3982,plain,
    ! [A: $i] :
      ( ( A @ ord )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( D = B )
           => ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[762]) ).

thf(733,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_435_exp_Osimps_I153_J) ).

thf(3897,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[733]) ).

thf(284,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( E @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( F @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_106_splitE_H) ).

thf(2201,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ ( B @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ~ ! [G: $i,H: $i] :
            ( ( ( E @ ( C @ ( B @ product_prod ) @ ti ) )
              = ( H @ ( G @ ( C @ ( B @ product_Pair ) @ ( C @ ( B @ product_prod ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( C @ ( B @ product_prod ) @ ( C @ hAPP ) ) ) ) )
           => ~ ( F @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( C @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[284]) ).

thf(984,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_533_typeof__conf) ).

thf(4777,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ( D @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
        = ( E @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( E @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[984]) ).

thf(1066,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_38_widen__trans) ).

thf(5092,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( E @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( D @ ( C @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1066]) ).

thf(323,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_634_exp_Osimps_I111_J) ).

thf(2334,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[323]) ).

thf(279,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( K @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_126_redp__redsp_OInitBlockRed) ).

thf(2186,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( K @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( G @ ( K @ ( val @ option @ ( char @ list @ hAPP ) ) ) )
          = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
       => ( G @ ( F @ ( val @ option @ ( char @ list @ hAPP ) ) ) @ ( G @ ( K @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( J @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( I @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( G @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( G @ ( char @ list @ block @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[279]) ).

thf(583,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_251_Un__left__commute) ).

thf(3347,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( D @ ( B @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[583]) ).

thf(728,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( D = G )
        & ( C = F )
        & ( B = E ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_668_exp_Osimps_I12_J) ).

thf(3875,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( ( D = G )
          & ( C = F )
          & ( B = E ) )
       => ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( G @ ( F @ ( E @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( D = G )
          & ( C = F )
          & ( B = E ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[728]) ).

thf(877,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_492_exp_Osimps_I60_J) ).

thf(4427,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[877]) ).

thf(892,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_274_eval__final) ).

thf(4474,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[892]) ).

thf(1029,axiom,
    ( ( v_2 @ ( val @ ti ) )
    = v_2 ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_v_v_H_____res) ).

thf(4968,plain,
    ( ( v_2 @ ( val @ ti ) )
    = v_2 ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1029]) ).

thf(1072,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( F @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_229_predicate2D) ).

thf(5105,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( E @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( F @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1072]) ).

thf(48,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( B
     != ( B @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_847_not__Cons__self) ).

thf(1335,plain,
    ! [A: $i,B: $i,C: $i] :
      ( B
     != ( B @ ( C @ ( A @ cons @ ( A @ list @ ( A @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ list @ ( A @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[48]) ).

thf(150,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_406_FAssRedsThrow2) ).

thf(1693,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[150]) ).

thf(250,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ~ ( E @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( F @ ( E @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( E @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( F @ ( E @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_984_override__on__def) ).

thf(2070,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ~ ( E @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( F @ ( E @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( C @ ( A @ ( B @ hAPP ) ) ) ) ) )
      & ( ( E @ ( F @ ( B @ member @ ( bool @ ( bool @ ( B @ fun ) @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( F @ ( E @ ( D @ ( C @ ( A @ ( B @ override_on ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ fun ) @ ( bool @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ ( B @ hAPP ) ) ) )
          = ( F @ ( D @ ( A @ ( B @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[250]) ).

thf(684,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_747_exp_Osimps_I42_J) ).

thf(3716,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( C @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[684]) ).

thf(1159,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( ( J @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( K @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( I @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( K @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( J @ ( char @ list @ distinct @ ( bool @ ( char @ list @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( J @ ( D @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( ( A
                  = ( J @ ( char @ list @ set @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( D @ ( G @ ( val @ option @ ( char @ list @ override_on ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
               => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( I @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_983_blocksRedsFinal) ).

thf(5413,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i] :
      ( ( ( J @ ( char @ list @ list @ size_size @ ( nat @ ( char @ list @ list @ hAPP ) ) ) )
        = ( K @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
     => ( ( ( I @ ( val @ list @ size_size @ ( nat @ ( val @ list @ hAPP ) ) ) )
          = ( K @ ( ty @ list @ size_size @ ( nat @ ( ty @ list @ hAPP ) ) ) ) )
       => ( ( J @ ( char @ list @ distinct @ ( bool @ ( char @ list @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( I @ ( J @ ( D @ ( val @ ( char @ list @ map_upds ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
           => ( ( E @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ( ( A
                  = ( J @ ( char @ list @ set @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( D @ ( G @ ( val @ option @ ( char @ list @ override_on ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) ) )
               => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( I @ ( char @ list @ exp @ ( val @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( val @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( K @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ hAPP ) ) ) @ ( J @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( blocks @ ( char @ list @ exp @ ( char @ list @ exp @ ( val @ list @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1159]) ).

thf(1175,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_323_red__reds_ORedFAss) ).

thf(5462,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( I @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( I @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( H @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun_upd ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ fun ) @ ( nat @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( unit @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( A @ ( G @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1175]) ).

thf(415,axiom,
    ! [A: $i,B: $i] :
      ( ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
        = ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) )
    <=> ( A = B ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_415_val_Osimps_I3_J) ).

thf(2704,plain,
    ! [A: $i,B: $i] :
      ( ( ( A = B )
       => ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
          = ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ) )
      & ( ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
          = ( B @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) )
       => ( A = B ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[415]) ).

thf(290,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_754_exp_Osimps_I32_J) ).

thf(2223,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[290]) ).

thf(439,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_371_exp_Osimps_I137_J) ).

thf(2795,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[439]) ).

thf(816,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_590_rtranclp__mono) ).

thf(4193,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( C @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[816]) ).

thf(400,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_684_exp_Osimps_I147_J) ).

thf(2619,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ cond @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[400]) ).

thf(626,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( E
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_737_WTrt__elim__cases_I10_J) ).

thf(3506,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( char @ list @ new @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( E
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[626]) ).

thf(1091,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ~ ( C @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
     => ~ ( B @ ( C @ ( A @ exp @ cons @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_867_not__finals__ConsI) ).

thf(5176,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ~ ( C @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
     => ~ ( B @ ( C @ ( A @ exp @ cons @ ( A @ exp @ list @ ( A @ exp @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ list @ ( A @ exp @ list @ hAPP ) ) ) @ ( A @ finals @ ( bool @ ( A @ exp @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1091]) ).

thf(1167,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ finals @ ( bool @ ( char @ list @ exp @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_865_evals__final) ).

thf(5440,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( evals @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( char @ list @ finals @ ( bool @ ( char @ list @ exp @ list @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1167]) ).

thf(404,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_832_CallRedsThrowObj) ).

thf(2651,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[404]) ).

thf(1124,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_817_exp_Osimps_I103_J) ).

thf(5275,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1124]) ).

thf(1031,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_686_redp__redsp_OCondThrow) ).

thf(4972,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] : ( E @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1031]) ).

thf(302,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_293_exp_Osimps_I175_J) ).

thf(2265,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( D @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[302]) ).

thf(362,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_515_CastRedsThrow) ).

thf(2467,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[362]) ).

thf(703,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_118_exp_Osimps_I75_J) ).

thf(3772,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[703]) ).

thf(620,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_663_redp__redsp_OCondRed) ).

thf(3489,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( B @ ( A @ ( F @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ cond @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[620]) ).

thf(867,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
    <=> ? [F: $i,G: $i] :
          ( ( G @ ( D @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
          & ( F @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
          & ( E
            = ( G @ ( F @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_968_widens__Cons) ).

thf(4395,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( ? [F: $i,G: $i] :
            ( ( G @ ( D @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( F @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( E
              = ( G @ ( F @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) ) ) )
       => ( E @ ( D @ ( C @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( E @ ( D @ ( C @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
       => ? [F: $i,G: $i] :
            ( ( G @ ( D @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
            & ( F @ ( C @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( E
              = ( G @ ( F @ ( ty @ cons @ ( ty @ list @ ( ty @ list @ fun ) @ ( ty @ hAPP ) ) ) @ ( ty @ list @ ( ty @ list @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[867]) ).

thf(204,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_468_BinOp1Reds) ).

thf(1902,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( B @ ( A @ ( E @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ ( C @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[204]) ).

thf(958,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_290_exp_Osimps_I79_J) ).

thf(4691,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[958]) ).

thf(826,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_363_exp_Osimps_I210_J) ).

thf(4221,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( C @ ( B @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( D @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[826]) ).

thf(371,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( L @ ( K @ ( J @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( M @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( K @ ( J @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( A @ ( C @ ( L @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_967_WTrtCall) ).

thf(2502,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i,K: $i,L: $i,M: $i] :
      ( ( M @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( L @ ( K @ ( J @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( G @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_Pair ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( M @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ method @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( ( B @ ( A @ ( K @ ( J @ ( I @ ( wTrts_1 @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
         => ( ( D @ ( B @ ( I @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( ty @ ( ty @ list_all2 ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ fun ) @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ list @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( ty @ list @ hAPP ) ) ) @ hBOOL )
           => ( E @ ( A @ ( C @ ( L @ ( char @ list @ call @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( K @ ( J @ ( I @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[371]) ).

thf(296,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ! [G: $i] :
              ( ( G @ ( E @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
               => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_608_WTrt__elim__cases_I6_J) ).

thf(2241,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ~ ( ( F
            = ( D @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) ) )
         => ! [G: $i] :
              ( ( G @ ( E @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
             => ( ( G @ ( is_refT @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
               => ~ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ is_class @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[296]) ).

thf(1185,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_858_red__reds_OListRed1) ).

thf(5500,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( reds @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( B @ ( char @ list @ exp @ cons @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ list @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ list @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1185]) ).

thf(586,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_946_subcls__asym) ).

thf(3362,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ~ ( E @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_trancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( B @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[586]) ).

thf(54,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ ( F @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_546_WTrt_H__WTrts_H_Ointros_I18_J) ).

thf(1352,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ( B @ ( A @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( A @ ( F @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[54]) ).

thf(1101,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_303_red__reds_OFAssRed1) ).

thf(5204,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( C @ ( B @ ( A @ ( D @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1101]) ).

thf(186,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ? [F: $i,G: $i,H: $i] :
            ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( H @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( ( G @ ( obj_ty @ ( ty @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
              = H )
            & ( ( F @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( D
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ) )
        | ( D = null ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_883_conf__ClassD) ).

thf(1829,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( ? [F: $i,G: $i,H: $i] :
            ( ( E @ ( class @ ( ty @ ( char @ list @ hAPP ) ) ) @ ( H @ ( B @ ( A @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
            & ( ( G @ ( obj_ty @ ( ty @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
              = H )
            & ( ( F @ ( C @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
              = ( G @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
            & ( D
              = ( F @ ( addr @ ( val @ ( nat @ hAPP ) ) ) ) ) )
        | ( D = null ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[186]) ).

thf(185,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_206_xt1_I6_J) ).

thf(1827,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i,D: $i] :
          ( ( D @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
         => ( ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
           => ( D @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[185]) ).

thf(30,axiom,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ( ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
        = ( A @ semilattice_sup_sup ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Lattices_Osemilattice__sup__class_Osup_res) ).

thf(1261,plain,
    ! [A: $i] :
      ( ( A @ semilattice_sup )
     => ( ( A @ semilattice_sup_sup @ ( A @ ( A @ fun ) @ ( A @ fun ) @ ti ) )
        = ( A @ semilattice_sup_sup ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[30]) ).

thf(519,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( G @ ( val @ ( char @ list @ restrict_map ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( val @ ( char @ list @ restrict_map ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_277_eval__restrict__lcl) ).

thf(3057,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( A @ ( B @ ( fv @ ( bool @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ( A @ ( G @ ( val @ ( char @ list @ restrict_map ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( val @ ( char @ list @ restrict_map ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( B @ ( H @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[519]) ).

thf(831,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_814_exp_Osimps_I57_J) ).

thf(4242,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[831]) ).

thf(97,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_823_exp_Osimps_I140_J) ).

thf(1532,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ call @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[97]) ).

thf(991,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_233_big__by__small) ).

thf(4799,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( B @ ( A @ ( E @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[991]) ).

thf(453,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( object @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B
          = ( E @ ( object @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ ( char @ list @ combc ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ combb ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ map ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) ) )
       => ( B @ ( object @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_779_has__fields__Object) ).

thf(2847,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( object @ ( C @ ( A @ class_1 @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( char @ list @ hAPP ) ) ) )
        = ( F @ ( E @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ some @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ option @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ( B
          = ( E @ ( object @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ ( char @ list @ combc ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_Pair ) @ ( char @ list @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ combb ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod_case ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ fun ) @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ map ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ fun ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ ( ty @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) ) )
       => ( B @ ( object @ ( C @ ( A @ fields @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( ty @ ( char @ list @ ( char @ list @ product_prod ) @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[453]) ).

thf(56,axiom,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( ( B @ ( A @ ti ) )
            = ( C @ ( A @ ti ) ) )
        <=> ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
            & ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_216_order__eq__iff) ).

thf(1357,plain,
    ! [A: $i] :
      ( ( A @ order )
     => ! [B: $i,C: $i] :
          ( ( ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
           => ( ( B @ ( A @ ti ) )
              = ( C @ ( A @ ti ) ) ) )
          & ( ( ( B @ ( A @ ti ) )
              = ( C @ ( A @ ti ) ) )
           => ( ( B @ ( C @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
              & ( C @ ( B @ ( A @ ord_less_eq @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[56]) ).

thf(390,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( I @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( I @ ( H @ ( A @ wf_mdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_909_sees__wf__mdecl) ).

thf(2583,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( H @ ( A @ wf_prog @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( I @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
       => ( F @ ( E @ ( A @ ( ty @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( A @ hAPP ) ) ) @ ( D @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ hAPP ) ) ) @ ( C @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_Pair ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ hAPP ) ) ) @ ( G @ ( I @ ( H @ ( A @ wf_mdecl @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[390]) ).

thf(564,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
        | ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( B @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_286_in__rtrancl__UnI) ).

thf(3259,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( B @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
        | ( D @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) )
     => ( B @ ( D @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[564]) ).

thf(92,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
        = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
    <=> ( ( E = I )
        & ( ( D @ ( A @ ti ) )
          = ( H @ ( A @ ti ) ) )
        & ( C = G )
        & ( B = F ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_424_exp_Osimps_I15_J) ).

thf(1500,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( ( ( E = I )
          & ( ( D @ ( A @ ti ) )
            = ( H @ ( A @ ti ) ) )
          & ( C = G )
          & ( B = F ) )
       => ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ) )
      & ( ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
          = ( I @ ( H @ ( G @ ( F @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
       => ( ( E = I )
          & ( ( D @ ( A @ ti ) )
            = ( H @ ( A @ ti ) ) )
          & ( C = G )
          & ( B = F ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[92]) ).

thf(756,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_344_sup2I1) ).

thf(3965,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( E @ ( D @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( F @ ( E @ ( C @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[756]) ).

thf(559,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_160_SeqReds2) ).

thf(3245,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( G @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( A @ ( D @ ( char @ list @ seq @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[559]) ).

thf(870,axiom,
    ! [A: $i] :
      ( ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ( A @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',help_fNot_2_1_U) ).

thf(4410,plain,
    ! [A: $i] :
      ( ( A @ ( fNot @ ( bool @ ( bool @ hAPP ) ) ) @ hBOOL )
      | ( A @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[870]) ).

thf(1052,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_269_dom__map__add) ).

thf(5046,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( B @ ( A @ dom ) @ ( bool @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ semilattice_sup_sup @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1052]) ).

thf(821,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( E @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
        = ( G @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( G @ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( void @ ( C @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_128_WTrtLAss) ).

thf(4206,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( F @ ( E @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
        = ( G @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
     => ( ( D @ ( C @ ( E @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( G @ ( D @ ( A @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ widen @ ( bool @ ( ty @ fun ) @ ( ty @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( void @ ( C @ ( F @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[821]) ).

thf(118,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( F @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( ( B @ ( H @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
            = ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
         => ( H @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( G @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_47_lconf__upd) ).

thf(1597,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( C @ ( F @ ( E @ ( A @ conf @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( val @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
       => ( ( ( B @ ( H @ ( ty @ option @ ( char @ list @ hAPP ) ) ) )
            = ( D @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
         => ( H @ ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) @ ( B @ ( G @ ( val @ option @ ( char @ list @ fun_upd ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ hAPP ) ) ) @ ( F @ ( E @ ( A @ lconf @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[118]) ).

thf(692,axiom,
    ( ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = preallocated ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Exceptions_Opreallocated_res) ).

thf(3740,plain,
    ( ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ti ) )
    = preallocated ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[692]) ).

thf(71,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_454_exp_Osimps_I169_J) ).

thf(1431,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[71]) ).

thf(740,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
    <=> ( G @ ( E @ ( F @ ( D @ ( C @ ( bool @ ( A @ combb ) ) @ ( B @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ combb ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ ( B @ combc ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ list_all2 ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( C @ list @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_964_list__all2__map2) ).

thf(3918,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( ( G @ ( E @ ( F @ ( D @ ( C @ ( bool @ ( A @ combb ) ) @ ( B @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ combb ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ ( B @ combc ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ list_all2 ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( C @ list @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( F @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL ) )
      & ( ( G @ ( F @ ( A @ ( C @ map ) @ ( A @ list @ ( C @ list @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ hAPP ) ) ) @ ( E @ ( D @ ( A @ ( B @ list_all2 ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( A @ list @ hAPP ) ) ) @ hBOOL )
       => ( G @ ( E @ ( F @ ( D @ ( C @ ( bool @ ( A @ combb ) ) @ ( B @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ combb ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ ( B @ combc ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( bool @ ( C @ fun ) @ ( A @ ( C @ fun ) @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ ( A @ ( C @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ list_all2 ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ fun ) @ ( bool @ ( C @ fun ) @ ( B @ fun ) @ hAPP ) ) ) @ ( bool @ ( C @ list @ fun ) @ ( B @ list @ hAPP ) ) ) @ ( bool @ ( C @ list @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[740]) ).

thf(128,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_116_exp_Osimps_I74_J) ).

thf(1621,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[128]) ).

thf(789,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ none @ ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( B @ none ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_148_empty__upd__none) ).

thf(4088,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ none @ ( C @ ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ fun_upd ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( B @ option @ ( A @ hAPP ) ) ) )
      = ( B @ none ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[789]) ).

thf(1143,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
    <=> ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_107__092_060D_062___092_060D_062s_Osimps_I6_J) ).

thf(5344,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1143]) ).

thf(951,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_149_map__add__empty) ).

thf(4674,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( B @ none @ ( A @ ( B @ option @ combk ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ hAPP ) ) ) @ ( C @ ( B @ ( A @ map_add ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) @ ( B @ option @ ( A @ fun ) @ ( B @ option @ ( A @ fun ) @ hAPP ) ) ) )
      = ( C @ ( B @ option @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[951]) ).

thf(607,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_120_exp_Osimps_I83_J) ).

thf(3437,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[607]) ).

thf(1062,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) )
         != ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
       => ~ ! [H: $i,I: $i] :
              ( ( G @ ( I @ ( H @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( G @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( I @ ( H @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_197_converse__rtranclE2) ).

thf(5073,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) )
         != ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
       => ~ ! [H: $i,I: $i] :
              ( ( G @ ( I @ ( H @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( D @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ~ ( G @ ( B @ ( A @ product_prod ) @ transitive_rtrancl @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( I @ ( H @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ ( B @ ( A @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1062]) ).

thf(1010,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
    <=> ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
        & ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_181_set__eq__subset) ).

thf(4891,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
       => ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) ) )
      & ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
          = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
       => ( ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
          & ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1010]) ).

thf(466,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_431_exp_Osimps_I113_J) ).

thf(2887,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( B @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( C @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[466]) ).

thf(359,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_930_length__map) ).

thf(2453,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( A @ ( B @ map ) @ ( A @ list @ ( B @ list @ fun ) @ ( A @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( B @ list @ hAPP ) ) ) @ ( A @ list @ size_size @ ( nat @ ( A @ list @ hAPP ) ) ) )
      = ( D @ ( B @ list @ size_size @ ( nat @ ( B @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[359]) ).

thf(275,axiom,
    ! [A: $i] :
      ( ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ field ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_TypeRel_Ofield_res) ).

thf(2170,plain,
    ! [A: $i] :
      ( ( A @ field @ ( ty @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ti ) )
      = ( A @ field ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[275]) ).

thf(516,axiom,
    ! [A: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != null ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_565_val_Osimps_I17_J) ).

thf(3047,plain,
    ! [A: $i] :
      ( ( A @ ( addr @ ( val @ ( nat @ hAPP ) ) ) )
     != null ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[516]) ).

thf(812,axiom,
    ! [A: $i] :
      ( ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ tryCatch ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Expr_Oexp_OTryCatch_res) ).

thf(4174,plain,
    ! [A: $i] :
      ( ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ fun ) @ ti ) )
      = ( A @ tryCatch ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[812]) ).

thf(919,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_526_red__reds_ORedCastFail) ).

thf(4552,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( D @ ( C @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
        = ( F @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
     => ( ~ ( B @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( E @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( B @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( classCast @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( D @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( A @ ( char @ list @ cast @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[919]) ).

thf(432,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [C: $i] :
            ( ( A @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_621_preallocatedD) ).

thf(2771,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( preallocated @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( sys_xcpts @ ( A @ ( char @ list @ member @ ( bool @ ( bool @ ( char @ list @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ? [C: $i] :
            ( ( A @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( B @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
            = ( C @ ( A @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[432]) ).

thf(734,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_318_red__reds_OFAssRed2) ).

thf(3901,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( H @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( G @ ( F @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( B @ ( A @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[734]) ).

thf(504,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_441_exp_Osimps_I97_J) ).

thf(3013,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( D @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[504]) ).

thf(754,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_336_FAccRedsVal) ).

thf(3960,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( H @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( H @ ( I @ ( hp @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ hAPP ) ) ) )
          = ( E @ ( D @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_Pair ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ some @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ hAPP ) ) ) ) )
       => ( ( ( B @ ( A @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( E @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) )
            = ( C @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( J @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( I @ ( C @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( B @ ( A @ ( F @ ( char @ list @ fAcc @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[754]) ).

thf(47,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_626_exp_Osimps_I149_J) ).

thf(1331,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ while @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[47]) ).

thf(614,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( C @ ( B @ ( E @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( A @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
           => ( ~ ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ? [G: $i,H: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_200_progress) ).

thf(3474,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( F @ ( wwf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( F @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ hconf @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( D @ ( C @ ( B @ ( E @ ( F @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
         => ( ( A @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
           => ( ~ ( C @ ( char @ list @ final @ ( bool @ ( char @ list @ exp @ hAPP ) ) ) @ hBOOL )
             => ? [G: $i,H: $i] : ( F @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( H @ ( G @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( A @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[614]) ).

thf(427,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_397_red__reds_OLAssThrow) ).

thf(2754,plain,
    ! [A: $i,B: $i,C: $i,D: $i] : ( D @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( char @ list @ lAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[427]) ).

thf(853,axiom,
    ! [A: $i] :
      ( ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ fun ) @ ti ) )
      = ( A @ append ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_List_Oappend_res) ).

thf(4335,plain,
    ! [A: $i] :
      ( ( A @ append @ ( A @ list @ ( A @ list @ fun ) @ ( A @ list @ fun ) @ ti ) )
      = ( A @ append ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[853]) ).

thf(1090,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_748_exp_Osimps_I27_J) ).

thf(5172,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( D @ ( C @ ( B @ ( A @ fAcc @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( char @ list @ hAPP ) ) ) )
     != ( E @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1090]) ).

thf(946,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( H @ ( G @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) )
            = ( F @ ( B @ ( C @ product_prod ) @ ti ) ) )
         => ( E @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( E @ ( F @ ( D @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_104_splitI2_H) ).

thf(4655,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ! [G: $i,H: $i] :
          ( ( ( H @ ( G @ ( B @ ( C @ product_Pair ) @ ( B @ ( C @ product_prod ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( B @ ( C @ product_prod ) @ ( B @ hAPP ) ) ) )
            = ( F @ ( B @ ( C @ product_prod ) @ ti ) ) )
         => ( E @ ( H @ ( G @ ( D @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) )
     => ( E @ ( F @ ( D @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod_case ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ fun ) @ ( bool @ ( A @ fun ) @ ( B @ fun ) @ ( C @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( B @ ( C @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[946]) ).

thf(463,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_560_FAssRedsNull) ).

thf(2879,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i] :
      ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( null @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( F @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( H @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( I @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ transitive_rtrancl @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( E @ ( nullPointer @ ( addr_of_sys_xcpt @ ( nat @ ( char @ list @ hAPP ) ) ) @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( G @ ( C @ ( B @ ( A @ ( F @ ( char @ list @ fAss @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[463]) ).

thf(402,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
        = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
    <=> ( B = C ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_111_exp_Osimps_I3_J) ).

thf(2640,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B = C )
       => ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
          = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ) )
      & ( ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
          = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) )
       => ( B = C ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[402]) ).

thf(942,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [E: $i,F: $i] :
            ( ( ( D @ ( B @ ( A @ product_prod ) @ ti ) )
              = ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
           => ~ ( F @ ( E @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_87_splitE) ).

thf(4642,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod_case ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ ( A @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ~ ! [E: $i,F: $i] :
            ( ( ( D @ ( B @ ( A @ product_prod ) @ ti ) )
              = ( F @ ( E @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( B @ ( A @ product_prod ) @ ( B @ hAPP ) ) ) ) )
           => ~ ( F @ ( E @ ( C @ ( bool @ ( B @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( B @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[942]) ).

thf(216,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_226_converse__rtrancl__induct) ).

thf(1944,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( D @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
       => ( ! [F: $i,G: $i] :
              ( ( E @ ( G @ ( F @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
             => ( ( E @ ( A @ transitive_rtrancl @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( D @ ( G @ ( A @ ( A @ product_Pair ) @ ( A @ ( A @ product_prod ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ ( A @ hAPP ) ) ) @ ( A @ ( A @ product_prod ) @ member @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ ( A @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
               => ( ( G @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
                 => ( F @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) )
         => ( C @ ( B @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[216]) ).

thf(57,axiom,
    ( ( this @ ( char @ list @ ti ) )
    = this ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Type_Othis_res) ).

thf(1367,plain,
    ( ( this @ ( char @ list @ ti ) )
    = this ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[57]) ).

thf(741,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_389_red__reds_OThrowRed) ).

thf(3924,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( D @ ( C @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( B @ ( A @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[741]) ).

thf(464,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_524_redp__redsp_ORedBinOp) ).

thf(2881,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( ( E @ ( D @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( C @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
        = ( F @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
     => ( B @ ( F @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( B @ ( E @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( C @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( A @ ( redp @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[464]) ).

thf(658,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_123_exp_Osimps_I144_J) ).

thf(3626,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( C @ ( B @ ( A @ lAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( E @ ( D @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[658]) ).

thf(1183,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_487_exp_Osimps_I45_J) ).

thf(5494,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( B @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) )
     != ( D @ ( C @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1183]) ).

thf(577,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ map ) @ ( C @ list @ ( B @ list @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ ( B @ list @ comp ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ fun ) @ ( C @ list @ ( B @ list @ fun ) @ hAPP ) ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ map ) @ ( C @ list @ ( A @ list @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_990_List_Omap_Ocomp) ).

thf(3299,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( B @ ( A @ map ) @ ( B @ list @ ( A @ list @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( D @ ( C @ ( B @ map ) @ ( C @ list @ ( B @ list @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( A @ list @ ( C @ list @ ( B @ list @ comp ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ fun ) @ ( C @ list @ ( B @ list @ fun ) @ hAPP ) ) ) @ ( C @ list @ ( A @ list @ fun ) @ ( B @ list @ ( A @ list @ fun ) @ hAPP ) ) ) )
      = ( E @ ( D @ ( A @ ( C @ ( B @ comp ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ fun ) @ ( C @ ( B @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ fun ) @ ( B @ ( A @ fun ) @ hAPP ) ) ) @ ( C @ ( A @ map ) @ ( C @ list @ ( A @ list @ fun ) @ ( C @ ( A @ fun ) @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[577]) ).

thf(968,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( C @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_588_r__into__rtranclp) ).

thf(4723,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( B @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL )
     => ( D @ ( C @ ( B @ ( A @ transitive_rtranclp @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( A @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[968]) ).

thf(160,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
    <=> ( ? [C: $i] :
            ( B
            = ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
        | ? [C: $i] :
            ( B
            = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_394_final__def) ).

thf(1737,plain,
    ! [A: $i,B: $i] :
      ( ( ( ? [C: $i] :
              ( B
              = ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
          | ? [C: $i] :
              ( B
              = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ) )
       => ( B @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL ) )
      & ( ( B @ ( A @ final @ ( bool @ ( A @ exp @ hAPP ) ) ) @ hBOOL )
       => ( ? [C: $i] :
              ( B
              = ( C @ ( addr @ ( val @ ( nat @ hAPP ) ) ) @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) @ ( A @ throw @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) )
          | ? [C: $i] :
              ( B
              = ( C @ ( A @ val_1 @ ( A @ exp @ ( val @ hAPP ) ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[160]) ).

thf(721,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_503_exp_Osimps_I69_J) ).

thf(3854,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ tryCatch @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( A @ cast @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[721]) ).

thf(285,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( A @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
          = ( B @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
       => ( ( A @ ( D @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
          = ( B @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_534_hext__typeof__mono) ).

thf(2206,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( C @ ( hext @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ hBOOL )
     => ( ( ( A @ ( C @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
          = ( B @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) )
       => ( ( A @ ( D @ ( typeof_h @ ( ty @ option @ ( val @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( ty @ option @ ( val @ hAPP ) ) ) )
          = ( B @ ( ty @ some @ ( ty @ option @ ( ty @ hAPP ) ) ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[285]) ).

thf(79,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_450_exp_Osimps_I104_J) ).

thf(1463,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( G @ ( F @ ( E @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[79]) ).

thf(107,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( J @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( I @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( C @ ( A @ ( G @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_523_BinOp) ).

thf(1565,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i,I: $i,J: $i] :
      ( ( J @ ( I @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( G @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( ( E @ ( D @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( J @ ( C @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
       => ( ( ( D @ ( I @ ( val @ ( val @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( val @ fun ) @ ( val @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( val @ hAPP ) ) ) @ ( A @ ( val @ ( val @ product_prod ) @ ( bop @ product_Pair ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ fun ) @ ( bop @ hAPP ) ) ) @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ ( val @ ( val @ product_prod ) @ hAPP ) ) ) @ ( binop @ ( val @ option @ ( val @ ( val @ product_prod ) @ ( bop @ product_prod ) @ hAPP ) ) ) )
            = ( B @ ( val @ some @ ( val @ option @ ( val @ hAPP ) ) ) ) )
         => ( E @ ( B @ ( char @ list @ val_1 @ ( char @ list @ exp @ ( val @ hAPP ) ) ) @ ( H @ ( C @ ( A @ ( G @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( F @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[107]) ).

thf(295,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_curry ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Product__Type_Ocurry_res) ).

thf(2238,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( C @ ( B @ ( A @ product_curry ) ) @ ( C @ ( B @ fun ) @ ( A @ fun ) @ ( C @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ti ) )
      = ( C @ ( B @ ( A @ product_curry ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[295]) ).

thf(89,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_77_Collect__def) ).

thf(1490,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ collect @ ( bool @ ( A @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) )
      = ( B @ ( bool @ ( A @ fun ) @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[89]) ).

thf(1118,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_438_exp_Osimps_I106_J) ).

thf(5255,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( D @ ( C @ ( B @ ( A @ binOp @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( F @ ( E @ ( A @ seq @ ( A @ exp @ ( A @ exp @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1118]) ).

thf(1169,axiom,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_upds ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_Map_Omap__upds_res) ).

thf(5445,plain,
    ! [A: $i,B: $i] :
      ( ( B @ ( A @ map_upds ) @ ( B @ option @ ( A @ fun ) @ ( B @ list @ fun ) @ ( A @ list @ fun ) @ ( B @ option @ ( A @ fun ) @ fun ) @ ti ) )
      = ( B @ ( A @ map_upds ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1169]) ).

thf(875,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_43_red__preserves__defass) ).

thf(4423,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( wf_J_mdecl @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ wf_prog @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ hBOOL )
     => ( ( G @ ( red @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( F @ ( E @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( C @ ( B @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_Pair ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ hAPP ) ) ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ member @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ ( char @ list @ exp @ product_prod ) @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( ( C @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL )
         => ( F @ ( val @ ( char @ list @ dom ) @ ( bool @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ some @ ( bool @ ( char @ list @ fun ) @ option @ ( bool @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( D @ ( char @ list @ d @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ fun ) @ option @ hAPP ) ) ) @ hBOOL ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[875]) ).

thf(209,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( nt @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( E @ ( A @ ti ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_767_ty_Osimps_I25_J) ).

thf(1917,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i] :
      ( ( nt @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ ty_case @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ ( ty @ fun ) @ ( A @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( A @ ( ty @ hAPP ) ) ) )
      = ( E @ ( A @ ti ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[209]) ).

thf(500,axiom,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
    <=> ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_204_pred__subset__eq2) ).

thf(2993,plain,
    ! [A: $i,B: $i,C: $i,D: $i] :
      ( ( ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) )
      & ( ( D @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( C @ ( B @ ( A @ product_Pair ) @ ( B @ ( A @ product_prod ) @ member @ ( B @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( A @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ ( B @ ( A @ product_prod ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( B @ combc ) ) @ ( A @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ combb ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ( A @ combc ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ fun ) @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ fun ) @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
       => ( D @ ( C @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ fun ) @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( B @ ( A @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[500]) ).

thf(9,axiom,
    ( ( fTrue @ ( bool @ ti ) )
    = fTrue ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',tsy_c_fTrue_res) ).

thf(1204,plain,
    ( ( fTrue @ ( bool @ ti ) )
    = fTrue ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[9]) ).

thf(73,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_548_wt_H__wt) ).

thf(1449,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i] :
      ( ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL )
     => ( E @ ( D @ ( C @ ( B @ ( A @ ( wTrt_1 @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ fun ) @ ( ty @ option @ ( char @ list @ fun ) @ hAPP ) ) ) @ ( bool @ ( ty @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( ty @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[73]) ).

thf(639,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_908_sees__method__decl__above) ).

thf(3553,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( H @ ( G @ ( F @ ( E @ ( D @ ( C @ ( B @ ( A @ method @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ fun ) @ ( ty @ list @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ fun ) @ ( ty @ hAPP ) ) ) @ ( bool @ ( char @ list @ fun ) @ ( A @ hAPP ) ) ) @ ( bool @ ( char @ list @ hAPP ) ) ) @ hBOOL )
     => ( B @ ( A @ subcls1 @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( A @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( char @ list @ transitive_rtrancl @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ ( H @ ( C @ ( char @ list @ ( char @ list @ product_Pair ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ ( char @ list @ hAPP ) ) ) @ ( char @ list @ ( char @ list @ product_prod ) @ member @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ fun ) @ ( char @ list @ ( char @ list @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[639]) ).

thf(887,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_297_exp_Osimps_I173_J) ).

thf(4459,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i,H: $i] :
      ( ( D @ ( C @ ( B @ ( A @ block @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ fun ) @ ( A @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( ty @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) )
     != ( H @ ( G @ ( F @ ( E @ ( A @ fAss @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ fun ) @ ( char @ list @ hAPP ) ) ) @ ( A @ exp @ ( A @ exp @ hAPP ) ) ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[887]) ).

thf(1022,axiom,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_455_eval__evals_OBinOpThrow1) ).

thf(4940,plain,
    ! [A: $i,B: $i,C: $i,D: $i,E: $i,F: $i,G: $i] :
      ( ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( D @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL )
     => ( G @ ( F @ ( char @ list @ throw @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( E @ ( B @ ( A @ ( D @ ( char @ list @ binOp @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ fun ) @ ( bop @ hAPP ) ) ) @ ( char @ list @ exp @ ( char @ list @ exp @ hAPP ) ) ) @ ( C @ ( eval @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( char @ list @ exp @ ( char @ list @ list @ product_prod ) @ ( ty @ product_prod ) @ ( ty @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ ( ty @ ( char @ list @ product_prod ) @ list @ product_prod ) @ ( char @ list @ product_prod ) @ ( char @ list @ product_prod ) @ list @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ fun ) @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ fun ) @ ( char @ list @ exp @ hAPP ) ) ) @ ( bool @ ( val @ option @ ( char @ list @ fun ) @ ( val @ option @ ( char @ list @ ( char @ list @ product_prod ) @ fun ) @ ( char @ list @ product_prod ) @ option @ ( nat @ fun ) @ product_prod ) @ hAPP ) ) ) @ hBOOL ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[1022]) ).

thf(511,axiom,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_740__092_060D_062___092_060D_062s_Osimps_I1_J) ).

thf(3035,plain,
    ! [A: $i,B: $i,C: $i] : ( C @ ( B @ ( A @ new @ ( A @ exp @ ( char @ list @ hAPP ) ) ) @ ( A @ d @ ( bool @ ( bool @ ( A @ fun ) @ option @ fun ) @ ( A @ exp @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ option @ hAPP ) ) ) @ hBOOL ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[511]) ).

thf(644,axiom,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ~ ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ~ ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    file('/export/starexec/sandbox2/benchmark/theBenchmark.p',fact_188_equalityE) ).

thf(3575,plain,
    ! [A: $i,B: $i,C: $i] :
      ( ( ( B @ ( bool @ ( A @ fun ) @ ti ) )
        = ( C @ ( bool @ ( A @ fun ) @ ti ) ) )
     => ~ ( ( C @ ( B @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL )
         => ~ ( B @ ( C @ ( bool @ ( A @ fun ) @ ord_less_eq @ ( bool @ ( bool @ ( A @ fun ) @ fun ) @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ ( bool @ ( bool @ ( A @ fun ) @ hAPP ) ) ) @ hBOOL ) ) ),
    inference(defexp_and_simp_and_etaexpand,[status(thm)],[644]) ).

thf(5570,plain,
    $false,
    inference(e,[status(thm)],[4188,4201,4447,5365,1469,4101,2031,1633,3661,3399,3698,3397,2331,2250,3021,1322,1665,2744,1369,4835,1823,4729,4022,1237,5320,1840,3581,1315,2499,2559,4015,1956,1950,2280,1554,4376,4500,1290,3417,3040,2248,4711,2380,4487,3382,1211,3990,5141,1406,2104,2231,3858,2808,4515,3813,5292,5069,2062,5297,1401,5224,2282,1591,2114,2837,1269,1971,1793,3402,2854,1486,4105,3217,1655,3120,4739,2686,4011,3616,4440,3562,2901,5178,4980,4762,1497,2195,3017,1756,4575,4839,4647,4026,5288,4528,3175,1275,2141,4638,2712,3693,4564,2168,4058,3253,1988,1761,3481,3895,5192,3370,4047,3502,3249,1645,4137,2869,4343,3236,2348,3350,5393,2491,1243,4496,2227,2020,3513,5195,3281,5301,4198,2082,3809,2173,4607,4760,2825,1904,1703,4948,2405,4511,5342,3891,1709,4524,3425,4422,3275,4151,3689,2269,3495,1871,3061,3485,3776,5150,3089,4984,3043,3713,5279,3263,3221,4546,3029,4743,5188,3821,1264,2217,4130,3542,1279,4349,5160,1455,3803,2126,4119,5214,1609,4830,1568,2158,4632,2989,4008,1800,5338,1892,5355,1379,2403,1514,2049,2552,1319,1890,2373,1572,5052,3470,3734,4368,4141,4952,4265,1773,4793,4507,2852,3231,3934,4815,3973,2540,4783,3851,2456,2007,4988,5433,3887,4583,2027,4903,4072,4018,3393,4857,3724,1911,2782,2893,2469,2259,3670,4733,3473,3702,1858,4147,4050,2122,1960,3290,1581,4686,4556,5259,5059,3986,5210,5096,2483,3685,3157,2750,1201,2965,1600,2884,4718,4660,4055,4230,4935,5448,5353,5401,3189,2424,2371,3676,2137,4536,3955,2799,2286,4038,3327,4701,3588,4379,2392,3906,1975,4082,4483,2762,3378,3435,2922,3720,4480,5017,5438,5034,1915,1783,4910,5122,2954,1651,4853,3229,3011,1206,4589,4407,4629,5443,2364,2164,5167,2118,3767,2307,2496,4312,1768,5334,2382,3550,2000,1730,3037,1900,1223,4466,1255,2147,4204,3816,3664,3682,5206,2673,5049,2589,4915,2409,2733,1343,1355,2277,4609,5044,1676,3742,2969,4091,4521,3239,4449,4493,5102,5396,4044,3286,1560,2670,4725,1296,1457,2068,5201,2327,3926,1195,2547,2653,3271,4295,2464,5391,2873,3980,5492,3269,3618,5465,1920,4053,2433,4994,3499,4385,5021,5038,3144,4746,1787,4942,3931,3033,4680,5330,3595,4316,5098,4248,1425,1672,3078,3650,3916,5233,3205,5475,4808,4123,1350,3105,2300,3909,1234,5221,2515,2377,5270,5238,1953,5423,4974,1804,3862,4108,2973,4789,1856,4636,1587,3518,3963,1878,3386,2726,2724,2858,2537,3632,3746,4817,1397,1493,3141,2023,5107,4425,3728,3596,2419,4513,1214,4444,2978,2317,4530,1942,1659,1292,3622,3441,2312,5253,4938,5263,2053,1842,1700,2613,1937,4861,4648,2551,2085,3555,4457,4804,1451,4970,3819,4540,3937,2813,1246,5369,3364,2756,1627,5063,2504,5317,3656,2450,2932,1478,1249,2519,1530,1539,2487,3059,1266,3354,1231,5498,1192,1874,5305,3760,5217,3967,3247,2862,4689,5026,4069,3201,1393,3476,3755,3903,4352,3225,4195,1563,1846,2793,2617,5126,2338,2909,5170,4163,1991,2788,1779,5402,2043,3279,4212,4889,4966,1695,1187,4906,5417,2221,2189,1616,5198,2413,2904,2585,3257,4412,4562,4577,3111,4269,3696,4365,1631,2235,2144,2936,2729,2176,4708,4685,2292,1698,4116,4613,2033,5138,3491,1483,1273,5230,3375,1595,3523,3811,2657,4801,3590,5350,4946,3213,3536,4786,3547,4662,5456,4341,3070,3636,3234,2938,4283,5488,1389,2981,5067,4309,3086,1752,3736,1929,3283,4677,3266,2016,2806,2991,3404,3868,1226,1488,2134,4505,3223,4485,4978,2738,4672,1765,2557,3302,2193,3023,4558,1669,3751,4127,1707,5363,3051,4796,2891,1371,5011,3726,3208,5282,4236,1865,4218,4573,1997,2442,5190,5207,3783,3487,4273,1258,2573,2319,4433,5071,4704,4929,1282,2422,1806,2906,1603,1542,3384,2871,2346,3678,1853,1408,2151,2229,2214,5244,3764,2415,2987,1894,2493,3957,2774,1722,4139,4586,2839,2802,3138,4374,3586,1690,3182,3066,2896,4477,1969,5267,1307,2180,3219,5367,3055,2111,1993,3800,4277,1862,3451,3971,2252,5459,3027,1339,4420,2343,3668,4833,1909,5286,3977,1325,1460,5180,2928,1381,3893,2911,3539,4232,5372,2835,5094,1528,4502,3806,4827,3953,3706,2101,2967,2303,4067,4209,5340,1198,5057,4720,1926,2962,4085,2064,4362,2752,1435,3178,4626,2999,5089,2506,1562,4741,1809,1662,1208,3672,2037,4319,4292,4177,5165,1472,4581,2899,1551,2582,5435,4331,4405,1583,1758,4901,1467,4886,3395,2784,2271,3293,2471,2942,1770,3913,2661,3082,1605,1647,3949,2678,4517,3872,5079,2160,4593,2831,2513,4749,4255,5452,1748,2397,5294,1611,5111,2060,5399,4534,3659,1252,5484,4287,4469,4754,4961,2386,2747,3448,5235,2920,3344,1785,2429,4145,3544,5152,3847,4737,1579,3769,5431,3642,5420,3940,3305,4190,1813,1300,2688,2700,1186,4020,5015,3722,1980,5030,3801,4982,3412,3564,1218,5450,3095,2411,3415,2843,4991,2579,4431,1585,5472,3366,3007,4414,2675,2056,1404,5147,1849,3652,2426,4133,1536,1802,3493,4436,2543,4246,5240,1221,2975,4932,4538,1427,4695,1797,4093,3117,4267,4225,1881,5100,4819,3288,1240,1617,2924,3757,4727,4770,2078,2310,1189,1453,3039,3593,2865,2875,1940,3946,4548,4289,3584,4651,3620,5490,1649,4698,2352,2045,3092,1817,3171,2960,1517,5115,4780,2611,3928,1216,2209,2305,4170,1575,4463,5332,3929,1734,5184,5055,5315,2594,2273,2098,4666,2554,4683,4042,4338,2764,4823,3780,3613,4913,2389,1476,1674,3789,3709,1639,5272,2290,2811,4715,1629,2004,3748,3630,2608,2431,3516,5087,2130,1558,2934,2262,4451,2394,2009,4774,5023,2362,1607,3993,5144,5119,2315,4570,4306,1614,4855,2786,5162,4293,4321,2399,4153,4214,2648,4591,5409,2198,2095,4074,2917,2623,4125,5009,2155,3865,2587,1229,1625,2951,3521,3132,4491,5247,3203,5041,4039,1348,1642,4917,4114,4472,3860,1678,3785,3511,4356,3997,3373,3464,2604,2815,2736,2768,1480,3558,3479,1789,2366,5251,2040,2340,1346,2549,3309,3982,3897,2201,4777,5092,2334,2186,3347,3875,4427,4474,4968,5105,1335,1693,2070,3716,5413,5462,2704,2223,2795,4193,2619,3506,5176,5440,2651,5275,4972,2265,2467,3772,3489,4395,1902,4691,4221,2502,2241,5500,3362,1352,5204,1829,1827,1261,3057,4242,1532,4799,2847,1357,2583,3259,1500,3965,3245,4410,5046,4206,1597,3740,1431,3918,1621,4088,5344,4674,3437,5073,4891,2887,2453,2170,3047,4174,4552,2771,3901,3013,3960,1331,3474,2754,4335,5172,4655,2879,2640,4642,1944,1367,3924,2881,3626,5494,3299,4723,1737,3854,2206,1463,1565,2238,1490,5255,5445,4423,1917,2993,1204,1449,3553,4459,4940,3035,3575]) ).

%------------------------------------------------------------------------------
%----ORIGINAL SYSTEM OUTPUT
% 0.00/0.03  % Problem  : SWW478+7 : TPTP v9.3.1. Released v5.3.0.
% 0.00/0.08  % Command  : java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.15/0.41  % Computer : n013.cluster.edu
% 0.15/0.41  % Model    : x86_64 x86_64
% 0.15/0.41  % CPU      : Intel(R) Xeon(R) CPU E5-2620 v4 @ 2.10GHz
% 0.15/0.41  % Memory   : 8046.5625MB
% 0.15/0.41  % OS       : Linux 6.8.0-71-generic
% 0.15/0.41  % CPULimit : 300
% 0.15/0.41  % WCLimit  : 300
% 0.15/0.41  % DateTime : Sat Sep 26 16:07:36 UTC 2026
% 0.15/0.41  % CPUTime  : 
% 0.15/0.41  Running java -Xss128m -Xmx2g -Xms1g -jar /export/starexec/sandbox2/solver/bin/leo3.jar /export/starexec/sandbox2/benchmark/theBenchmark.p -t 300 -p  --atp eprover=/export/starexec/sandbox2/solver/bin/externals/eprover --instantiate 39
% 0.86/0.99  % [INFO] 	 Parsing problem /export/starexec/sandbox2/benchmark/theBenchmark.p ... 
% 4.97/2.39  % [INFO] 	 Parsing done (1396ms). 
% 5.19/2.41  % [INFO] 	 Running in sequential loop mode. 
% 5.75/2.78  % [INFO] 	 eprover registered as external prover. 
% 5.75/2.79  % [INFO] 	 Scanning for conjecture ... 
% 9.63/4.41  % [INFO] 	 Found a conjecture (or negated_conjecture) and 1183 axioms. Running axiom selection ... 
% 13.77/7.32  % [INFO] 	 Axiom selection finished. Selected 1183 axioms (removed 0 axioms). 
% 26.43/17.98  % [INFO] 	 Problem is first-order (TPTP FOF). 
% 27.04/18.14  % [INFO] 	 Type checking passed. 
% 27.04/18.14  % [CONFIG] 	 Using configuration: timeout(300) with strategy<name(default),share(1.0),primSubst(3),sos(false),unifierCount(4),uniDepth(8),boolExt(true),choice(true),renaming(true),funcspec(false), domConstr(0),specialInstances(39),restrictUniAttempts(true),termOrdering(CPO)>.  Searching for refutation ... 
% 188.51/152.39  % External prover 'e' found a proof!
% 188.51/152.39  % [INFO] 	 Killing All external provers ... 
% 188.51/152.40  % Time passed: 151834ms (effective reasoning time: 149983ms)
% 188.51/152.40  % Solved by strategy<name(default),share(1.0),primSubst(3),sos(false),unifierCount(4),uniDepth(8),boolExt(true),choice(true),renaming(true),funcspec(false), domConstr(0),specialInstances(39),restrictUniAttempts(true),termOrdering(CPO)>
% 188.74/152.41  % Axioms used in derivation (1183): fact_122_exp_Osimps_I145_J, tsy_c_Expr_Oexp_OLAss_res, fact_36_split__paired__Ex, fact_134_lconf__empty, fact_581_red__reds_ORedFAssNull, fact_381_FAccRedsThrow, fact_986_override__on__apply__in, fact_902_mdecl__visible, fact_25_fun__upd__idem__iff, fact_104_splitI2_H, fact_143_redp__redsp_OSeqRed, tsy_c_Expr_Obop_Obop__case_res, fact_662_exp_Osimps_I215_J, fact_107__092_060D_062___092_060D_062s_Osimps_I6_J, fact_676_exp_Osimps_I109_J, fact_833_CallRedsNull, fact_374_exp_Osimps_I161_J, fact_22_fun__upd__apply, fact_207_xt1_I5_J, fact_638_exp_Osimps_I165_J, fact_476_red__reds_ORedTryFail, tsy_c_fconj_res, fact_371_exp_Osimps_I137_J, fact_189_hext__new, tsy_c_Wellfounded_Olex__prod_res, fact_197_converse__rtranclE2, fact_64_conf__widen, fact_748_exp_Osimps_I27_J, arity_HOL_Obool___Orderings_Oorder, fact_769_NewFail, fact_515_CastRedsThrow, fact_300_redp__redsp_OFAssRed2, fact_256_UnI1, fact_717_WTrt_H__WTrts_H_Ointros_I11_J, tsy_c_SmallStep_Oreds_res, fact_910_method__def2, fact_98_splitD_H, fact_620_preallocatedE, fact_27_red__preserves__hconf, arity_HOL_Obool___Orderings_Oord, fact_262_Un__upper1, fact_658_eval__cases_I11_J, fact_991_map__comp__map, fact_880_redp__redsp_OListRed2, fact_484_exp_Osimps_I2_J, fact_959_list__all2__lengthD, fact_619_binop_Osimps_I5_J, tsy_c_Fun_Ooverride__on_res, help_COMBS_1_1_U, fact_410_rtrancl__Un__separatorE, fact_576_FAccNull, fact_746_exp_Osimps_I43_J, fact_759_exp_Osimps_I24_J, fact_487_exp_Osimps_I45_J, fact_10_prod__induct5, tsy_c_Transitive__Closure_Ortrancl_res, fact_220_le__fun__def, fact_53_conf__upd__obj, fact_274_eval__final, fact_565_val_Osimps_I17_J, fact_873_WTrts__hext__mono, fact_649_bop_Osimps_I2_J, fact_35_PairE, fact_59_split__twice, fact_635_exp_Osimps_I110_J, fact_512_Class__widen__Class, fact_328_le__iff__sup, fact_154_oconf__hext, fact_677_exp_Osimps_I199_J, fact_387_redp__redsp_OFAssThrow1, fact_616_val_Osimps_I12_J, fact_110_exp_Osimps_I142_J, fact_203_rtrancl__induct, tsy_c_SmallStep_Ored_res, fact_896_split__list__propE, fact_73_split__conv, tsy_c_BigStep_Oevals_res, arity_HOL_Obool___Orderings_Opreorder, fact_283_sup__Un__eq2, fact_121__092_060D_062___092_060D_062s_Osimps_I3_J, fact_567_redp__redsp_ORedCastNull, fact_492_exp_Osimps_I60_J, fact_464_redp__redsp_OBinOpThrow2, fact_123_exp_Osimps_I144_J, fact_360_exp_Osimps_I77_J, fact_47_lconf__upd, fact_475_TryRedsVal, fact_701_CondReds2T, fact_625_WhileFReds, fact_739_exp_Osimps_I37_J, fact_206_xt1_I6_J, fact_20_fun__upd__other, fact_416_TryCatchRedsFinal, fact_903_ex__map__conv, fact_245_sup1E, fact_331_le__supI2, tsy_c_Product__Type_OPair_res, fact_530_binop_Osimps_I3_J, tsy_v_V_____res, fact_471_TryThrow, fact_378_exp_Osimps_I158_J, tsy_c_TypeRel_Owiden_res, fact_296_exp_Osimps_I139_J, tsy_c_COMBK_res, fact_637_exp_Osimps_I65_J, help_fconj_3_1_U, fact_763_exp_Osimps_I39_J, fact_221_wf__prog__wwf__prog, fact_230_rev__predicate2D, fact_392_red__reds_OFAccRed, fact_846_append__Cons, fact_719_WTrt__elim__cases_I7_J, fact_599_redp__redsp_ORedCast, fact_560_FAssRedsNull, fact_199_rtrancl__induct2, fact_163_redp__redsp_ORedInitBlock, fact_349_exp_Osimps_I7_J, fact_696_CondRedsThrow, fact_338_redp__redsp_ORedFAcc, fact_686_redp__redsp_OCondThrow, fact_404_SeqRedsThrow, fact_866_eval__finalsId, fact_985_override__on__apply__notin, fact_679_exp_Osimps_I176_J, fact_657_WhileTRedsThrow, fact_783_has__visible__field, tsy_c_SmallStep_Oassigned_res, fact_325_sup__ge1, fact_745_exp_Osimps_I1_J, fact_960_list__all2__appendI, fact_831_CallRedsObj, fact_242_Reds__dom__lcl, fact_980_list__all2__append1, fact_661_exp_Osimps_I214_J, fact_949_map__upds__Cons, fact_504_exp_Osimps_I68_J, fact_875_WTrts__Val, fact_298_exp_Osimps_I172_J, fact_431_exp_Osimps_I113_J, fact_460_fv__fvs_Osimps_I4_J, fact_596_converse__rtranclp__into__rtranclp, fact_131_redp__redsp_ORedLAss, fact_542_typeof__NullPointer, fact_824_exp_Osimps_I186_J, tsy_c_Type_Oty_OVoid_res, fact_590_rtranclp__mono, fact_70_domI, fact_311_sup__left__idem, fact_772_redp__redsp_ORedNew, fact_84_internal__split__def, fact_263_Un__upper2, fact_96_WTrt__hext__mono, fact_386_redp__redsp_OLAssThrow, tsy_c_Option_Ooption_ONone_res, tsy_c_Map_Orestrict__map_res, fact_185_set__rev__mp, fact_529_binop_Osimps_I7_J, fact_781_sees__field__fun, tsy_c_member_res, fact_148_empty__upd__none, fact_682_exp_Osimps_I146_J, tsy_c_TypeRel_Ofield_res, fact_412_eval__cases_I9_J, fact_579_red__reds_ORedThrowNull, fact_804_exp_Osimps_I80_J, fact_407_red__reds_OBlockThrow, fact_977_confs__conv__map, fact_886_all__fields__in__has__fields, fact_874_WTrtCallNT, tsy_c_Lattices_Osemilattice__sup__class_Osup_res, fact_61_curry__split, fact_525_CastFail, fact_81_curryE, fact_778_fields__def2, fact_398_red__reds_OSeqThrow, fact_469_red__reds_ORedTry, fact_742_exp_Osimps_I18_J, fact_821_exp_Osimps_I171_J, help_COMBI_1_1_U, fact_680_exp_Osimps_I177_J, fact_68_map__add__upd__left, fact_3_assms, fact_446_exp_Osimps_I183_J, fact_385_redp__redsp_OSeqThrow, fact_617_val_Osimps_I13_J, tsy_c_Expr_Oexp_OFAss_res, fact_57_map__add__dom__app__simps_I2_J, fact_713_conf__NT, fact_454_exp_Osimps_I169_J, arity_fun___Orderings_Oord, fact_0_InitBlockRed_I3_J, fact_645_exp_Osimps_I89_J, fact_522_CastRedsFail, fact_808_exp_Osimps_I9_J, fact_634_exp_Osimps_I111_J, fact_30_prod__induct3, fact_2_fun__upd__triv, fact_468_BinOp1Reds, fact_555_map__add__def, fact_826_exp_Osimps_I191_J, fact_60_split__curry, fact_320_FAssReds2, fact_265_Un__absorb1, fact_71_red__reds_OInitBlockRed, fact_324_inf__sup__ord_I3_J, fact_810_exp_Osimps_I195_J, fact_187_subset__trans, fact_253_Un__assoc, fact_465_red__reds_OTryRed, fact_699_unfold__while, tsy_c_Expr_Oexp_OBinOp_res, fact_167_InitBlockReds, fact_671_exp_Osimps_I162_J, fact_313_inf__sup__aci_I7_J, fact_855_redp__redsp_OCallThrowParams, fact_573_ThrowNull, fact_235_small__by__big, fact_406_FAssRedsThrow2, fact_483_WTrtTry, fact_708_ty_Osimps_I21_J, fact_889_set__subset__Cons, fact_972_wts_H__wts, fact_497_exp_Osimps_I58_J, arity_Nat_Onat___Orderings_Opreorder, fact_234_extend__eval, fact_770_redp__redsp_ORedNewFail, fact_659_subcls__C__Object, fact_239_predicate2I, fact_377_exp_Osimps_I159_J, fact_632_exp_Osimps_I200_J, fact_315_sup_Oassoc, fact_62_split__part, fact_622_preallocated__def, fact_232_extend__1__eval, fact_152_map__upd__nonempty, fact_191_oconf__new, fact_78_split__eta, fact_934_map__upds__apply__nontin, fact_841_red__reds_OCallParams, fact_95_splitE2, fact_551_option_Osimps_I5_J, fact_7_InitBlockRed_I2_J, tsy_c_Type_Ois__refT_res, fact_188_equalityE, fact_818_exp_Osimps_I184_J, fact_430_exp_Osimps_I70_J, fact_126_redp__redsp_OInitBlockRed, fact_603_WTrtCast, fact_415_val_Osimps_I3_J, fact_130_hextI, fact_127_red__reds_OBlockRedSome, tsy_c_Conform_Ohconf_res, fact_853_ConsThrow, fact_397_red__reds_OLAssThrow, fact_948_Call, fact_557_WTrt_H__WTrts_H_Ointros_I10_J, fact_656_WhileTReds, fact_633_exp_Osimps_I201_J, tsy_v_h_Ha_____res, fact_639_exp_Osimps_I164_J, tsy_c_Map_Omap__add_res, help_fTrue_1_1_T, tsy_c_Map_Odom_res, fact_118_exp_Osimps_I75_J, fact_571_binop_Osimps_I8_J, fact_472_red__reds_OBinOpThrow2, tsy_c_Expr_Oexp_Onew_res, fact_851_map_Osimps_I2_J, fact_356_redp__redsp_OFAccRed, fact_546_WTrt_H__WTrts_H_Ointros_I18_J, fact_88_splitI2, fact_725_subcls1_Ointros, fact_771_red__reds_ORedNew, fact_552_option_Osimps_I4_J, fact_664_exp_Osimps_I86_J, fact_170_rtrancl_Ortrancl__refl, fact_66_lconf__hext, tsy_c_WellForm_Owf__fdecl_res, fact_477_TryCatch, fact_879_blocks_Osimps_I1_J, fact_651_fv__fvs_Osimps_I13_J, fact_106_splitE_H, fact_994_o__eq__elim, fact_39_InitBlockRed_I5_J, fact_306_sup_Ocommute, fact_979_list__all2__append2, fact_956_wt__blocks, fact_698_red__reds_ORedCondF, tsy_c_BigStep_Oeval_res, fact_153_redp__redsp_ORedBlock, fact_18_fun__upd__def, fact_600_redp__redsp_ORedTryFail, fact_184_in__mono, tsy_c_hAPP_res, fact_891_map__fun__upd, fact_400_redp__redsp_OBlockThrow, fact_393_redp__redsp_OFAssThrow2, fact_161_redp__red__eq, fact_437_exp_Osimps_I96_J, fact_817_exp_Osimps_I103_J, fact_444_exp_Osimps_I101_J, tsy_c_Type_Oty_OClass_res, fact_540_binop_Osimps_I10_J, fact_732_is__class__def, fact_675_exp_Osimps_I108_J, fact_578_redp__redsp_ORedFAccNull, fact_424_exp_Osimps_I15_J, fact_767_ty_Osimps_I25_J, fact_786_bop_Osimps_I3_J, fact_434_exp_Osimps_I225_J, fact_181_set__eq__subset, fact_368_exp_Osimps_I202_J, fact_648_bop_Oexhaust, fact_115_exp_Osimps_I84_J, fact_688_red__reds_OCondRed, fact_383_eval__evals_OLAssThrow, fact_361_exp_Osimps_I76_J, fact_128_WTrtLAss, tsy_c_Set_OCollect_res, fact_19_fun__upd__idem, fact_981_tranclD2, fact_862_ListRedsVal, fact_403_LAssRedsThrow, fact_944_r__r__into__trancl, fact_531_typeof__ClassCast, arity_fun___Lattices_Olattice, fact_132_red__lcl__incr, fact_608_WTrt__elim__cases_I6_J, fact_16_Pair__eq, fact_923_map__add__upds, fact_196_subsetI, fact_758_exp_Osimps_I34_J, fact_236_LAss, fact_798_redp__redsp_ORedCallNull, fact_72_prod_Osimps_I2_J, fact_697_red__reds_ORedCondT, fact_226_converse__rtrancl__induct, fact_548_wt_H__wt, fact_12_prod__induct4, fact_712_WTrt_H__WTrts_H_Ointros_I9_J, help_fTrue_1_1_U, fact_942_Transitive__Closure_Otrancl__into__trancl, fact_375_exp_Osimps_I154_J, fact_157_SeqReds, tsy_c_hAPP_arg1, tsy_c_WellTypeRT_OWTrts_res, tsy_c_Decl_Ois__class_res, fact_33_pred__equals__eq2, fact_330_le__supI1, fact_694_red__reds_OCondThrow, fact_937_rtranclD, fact_534_hext__typeof__mono, tsy_c_Orderings_Oord__class_Oless__eq_res, fact_647_WhileCondThrow, fact_561_red__reds_ORedFAccNull, fact_144_dom__def, fact_474_BinOpRedsThrow1, fact_823_exp_Osimps_I140_J, fact_907_sees__method__decl__mono, tsy_c_Expr_Oexp_OVal_res, fact_900_in__set__conv__decomp, fact_482_CastRedsAddr, help_fNot_2_1_U, fact_52_conf__hext, fact_151_redp__redsp_ORedSeq, tsy_c_Expr_Oexp_OBlock_res, fact_86_WTrtBlock, fact_215_order__eq__refl, fact_168_InitBlockRedsFinal, fact_141_not__None__eq, tsy_v_v_____res, tsy_c_COMBC_res, fact_802_exp_Osimps_I189_J, fact_630_exp_Osimps_I179_J, fact_881_redp__redsp_OListRed1, fact_901_in__set__conv__decomp__last, tsy_c_Map_Omap__upds_res, fact_844_fv__fvs_Osimps_I9_J, fact_231_eval__notfree__unchanged, fact_794_append__eq__appendI, fact_882_redp__redsp_OCallParams, fact_50_prod__caseI, fact_545_WTrt_H__WTrts_H_Ointros_I3_J, fact_17_split__paired__All, fact_279_sup__fun__def, tsy_c_JWellForm_Owf__J__mdecl_res, fact_312_sup_Oleft__commute, fact_749_exp_Osimps_I26_J, fact_413_val_Osimps_I10_J, fact_854_red__reds_OListRed2, fact_451_exp_Osimps_I99_J, fact_310_inf__sup__aci_I8_J, fact_961_list__all2__eq, fact_450_exp_Osimps_I104_J, help_fNot_1_1_U, fact_276_eval__cases_I8_J, fact_626_exp_Osimps_I149_J, fact_244_UnCI, tsy_v_E_____res, fact_721_WTrt__elim__cases_I8_J, fact_591_rtranclp__subset, tsy_c_Product__Type_Ocurry_res, fact_408_redp__redsp_OInitBlockThrow, fact_811_exp_Osimps_I194_J, tsy_c_Conform_Ooconf_res, fact_137_pred__subset__eq, fact_681_exp_Osimps_I206_J, fact_690_CondT, tsy_c_Decl_Ois__type_res, fact_82_curryD, tsy_c_COMBS_res, fact_541_typeof__OutOfMemory, fact_915_sees__methods__fun, fact_940_rtrancl__trancl__trancl, fact_585_option__caseE, fact_510_red__reds_OCastThrow, tsy_c_Product__Type_Ointernal__split_res, fact_604_ty_Osimps_I9_J, fact_528_eval__cases_I3_J, fact_800_exp_Osimps_I31_J, tsy_c_WellTypeRT_OWTrt_res, fact_883_conf__ClassD, fact_711_WTrtFAccNT, tsy_c_DefAss_O_092_060D_062_res, fact_911_map__ext, fact_428_exp_Osimps_I71_J, fact_755_exp_Osimps_I33_J, fact_728_subcls1D, fact_91_red__reds_ORedLAss, fact_129_LAssRedsVal, fact_672_exp_Osimps_I163_J, fact_876_reds__preserves__hconf, help_fFalse_1_1_T, fact_990_List_Omap_Ocomp, fact_863_finals__app__map, fact_258_Collect__disj__eq, fact_519_WTrt__elim__cases_I5_J, fact_741_exp_Osimps_I19_J, fact_766_ty_Osimps_I22_J, fact_779_has__fields__Object, fact_46_red__lcl__add, fact_827_exp_Osimps_I190_J, fact_405_FAssRedsThrow1, fact_547_wt__wt_H, tsy_c_fFalse_res, fact_791_append__eq__append__conv2, fact_200_progress, fact_897_in__set__conv__decomp__first, tsy_c_hBOOL_arg1, tsy_c_List_Oappend_res, fact_355_fv__fvs_Osimps_I14_J, fact_173_r__into__rtrancl, fact_865_evals__final, fact_795_map__ident, fact_538_typeof__lit__conf, fact_74_map__add__find__right, fact_499_exp_Osimps_I47_J, fact_916_sees__methods__decl__above, fact_233_big__by__small, fact_646_exp_Osimps_I88_J, fact_480_red__reds_ORedTryCatch, fact_754_exp_Osimps_I32_J, fact_352_eval__evals_OThrowThrow, fact_159_redp__redsp_OBlockRedSome, tsy_c_Decl_Oclass_res, fact_752_exp_Osimps_I21_J, fact_954_blocksFinal, fact_478_WTrt__elim__cases_I4_J, fact_805_exp_Osimps_I81_J, fact_613_val_Osimps_I1_J, tsy_v_T_H_____res, fact_587_redp__redsp_ORedTryCatch, fact_734_is__type__def, fact_640_exp_Osimps_I222_J, fact_970_confs__hext, fact_641_exp_Osimps_I223_J, fact_158_LAssReds, fact_429_exp_Osimps_I92_J, fact_448_exp_Osimps_I204_J, fact_668_exp_Osimps_I12_J, fact_380__092_060D_062___092_060D_062s_Osimps_I7_J, fact_543_typeof__h_Osimps_I5_J, fact_9_prod__cases6, tsy_c_List_Omap_res, fact_321_FAss, fact_455_eval__evals_OBinOpThrow1, fact_861_ListReds1, fact_908_sees__method__decl__above, fact_246_sup1CI, fact_597_rtranclp__idemp, fact_773_has__fields__fun, fact_23_fun__upd__same, fact_214_order__antisym__conv, help_COMBB_1_1_U, fact_654_WhileF, fact_436_exp_Osimps_I213_J, fact_628_exp_Osimps_I148_J, fact_286_in__rtrancl__UnI, tsy_v_v_H_____res, fact_570_CastRedsNull, fact_735_red__reds_ORedNewFail, fact_807_exp_Osimps_I193_J, tsy_c_Type_Othis_res, fact_836_extend__evals, tsy_c_WellForm_Owf__prog_res, tsy_c_Value_Oval_ONull_res, fact_624_binop_Osimps_I1_J, fact_272_Val, fact_219_le__funD, arity_Nat_Onat___Orderings_Olinorder, fact_169_assigned__def, fact_202_order__refl, tsy_c_hAPP_arg2, fact_737_WTrt__elim__cases_I10_J, fact_898_wf__J__prog__wf__J__mdecl, fact_563_val_Osimps_I4_J, arity_fun___Orderings_Oorder, fact_957_widens__refl, fact_922_trancl__into__rtrancl, fact_509_red__reds_OCastRed, help_fdisj_1_1_U, fact_857_ListReds2, tsy_c_Expr_Oexp_OSeq_res, fact_357_fv__fvs_Osimps_I7_J, fact_774_oconf__init__fields, tsy_c_Value_Oval_OAddr_res, tsy_v_e_Ha_____res, fact_114_exp_Osimps_I10_J, fact_382_eval__evals_OSeqThrow, fact_156_map__add__Some__iff, fact_179_the_Osimps, fact_113_exp_Osimps_I6_J, fact_535_typeof__lit__typeof, fact_506_eval__evals_OCastThrow, fact_780_sees__field__decl__above, fact_479_preallocated__new, arity_fun___Orderings_Opreorder, tsy_c_HOL_OThe_res, fact_733_eval__cases_I10_J, tsy_c_Expr_Obop_Obop__rec_res, help_fconj_2_1_U, fact_340_red__reds_OInitBlockThrow, tsy_c_Fun_Ofun__upd_res, fact_978_confs__Cons2, fact_433_exp_Osimps_I112_J, fact_212_xt1_I3_J, fact_765_ty_Osimps_I26_J, tsy_c_Type_Oty_Oty__case_res, fact_85_curry__conv, tsy_c_fNot_res, tsy_c_COMBB_res, fact_764_new__Addr__SomeD, fact_971_wts_H__iff__wts, fact_282_sup__mono, fact_192_hconf__new, fact_419_TryRedsFail, fact_665_exp_Osimps_I87_J, fact_449_exp_Osimps_I105_J, fact_347_exp_Osimps_I166_J, fact_663_redp__redsp_OCondRed, fact_452_exp_Osimps_I98_J, fact_784_sees__field__is__type, fact_788_map__append, fact_976_WTrt_H__WTrts_H_Ointros_I15_J, fact_414_val_Osimps_I11_J, fact_369_exp_Osimps_I203_J, fact_843_CallRedsThrowParams, fact_958_list__all2__append, fact_832_CallRedsThrowObj, fact_921_trancl_Or__into__trancl, fact_828_redp__redsp_OCallThrowObj, fact_612_val_Osimps_I20_J, tsy_c_TypeRel_Osubcls1p_res, fact_112_exp_Osimps_I11_J, fact_443_exp_Osimps_I100_J, fact_611_val_Osimps_I21_J, fact_304_sup_Oidem, fact_496_exp_Osimps_I54_J, fact_840_evals__lcl__incr, fact_920_subcls__notin__has__fields, fact_268_Un__mono, fact_967_WTrtCall, fact_517_Cast, fact_350_redp__redsp_OFAccThrow, fact_180_subset__refl, fact_669_exp_Osimps_I219_J, fact_803_CallObjThrow, fact_228_big__iff__small, fact_225_converse__rtranclE, fact_992_List_Omap_Ocompositionality, fact_418_BinOpRedsThrow2, fact_293_exp_Osimps_I175_J, fact_750_exp_Osimps_I17_J, arity_Nat_Onat___Lattices_Olattice, fact_269_dom__map__add, fact_935_rtrancl__eq__or__trancl, fact_373_exp_Osimps_I136_J, fact_379__092_060D_062___092_060D_062s_Osimps_I14_J, fact_498_exp_Osimps_I59_J, tsy_c_Objects_Oinit__fields_res, fact_673_exp_Osimps_I63_J, fact_858_red__reds_OListRed1, fact_376_exp_Osimps_I155_J, fact_44_option_Oinject, fact_13_prod__cases4, fact_893_split__paired__The, fact_389_red__reds_OThrowRed, fact_89_WTrtSeq, fact_691_is__class__Object, fact_877_reds__preserves__lconf, fact_627_exp_Osimps_I209_J, tsy_c_Expr_Oexp_OWhile_res, fact_678_exp_Osimps_I198_J, fact_997_o__assoc, fact_486_fv__fvs_Osimps_I2_J, fact_438_exp_Osimps_I106_J, fact_895_has__fields__decl__above, fact_845_Cons__eq__appendI, fact_227_le__funI, fact_574_redp__redsp_ORedThrowNull, fact_119_exp_Osimps_I82_J, fact_420_hconf__def, fact_417_WTrtThrow, tsy_c_TypeRel_Ofields_res, fact_247_Un__absorb, fact_8_prod__induct6, fact_4_map__upd__Some__unfold, tsy_c_Objects_Oblank_res, fact_435_exp_Osimps_I153_J, tsy_c_Value_Oval_OUnit_res, fact_63_red__reds_ORedInitBlock, tsy_c_List_Olist_OCons_res, fact_667_exp_Osimps_I217_J, fact_366_exp_Osimps_I181_J, tsy_c_HOL_Oundefined_res, fact_796_bop_Orecs_I2_J, tsy_c_Product__Type_Oprod_Oprod__rec_res, fact_255_ball__Un, fact_723_typeof__lit__is__type, tsy_c_Transitive__Closure_Otrancl_res, fact_26_widen__refl, fact_182_equalityD1, fact_998_o__def, fact_926_trancl__rtrancl__absorb, fact_204_pred__subset__eq2, tsy_c_SmallStep_Oredp_res, fact_707_ty_Osimps_I20_J, fact_336_FAccRedsVal, fact_335_sup__least, fact_90_lconf__def, fact_37_internal__split__conv, fact_736_WTrtNew, tsy_c_Expr_Oexp_OCond_res, fact_740__092_060D_062___092_060D_062s_Osimps_I1_J, fact_819_exp_Osimps_I185_J, fact_670_exp_Osimps_I218_J, tsy_v_la_____res, arity_HOL_Obool___Lattices_Osemilattice__sup, fact_623_is__class__xcpt, fact_305_sup__idem, fact_488_exp_Osimps_I44_J, fact_575_FAssNull, fact_572_binop_Osimps_I4_J, fact_704_wf__cdecl__supD, fact_568_preallocated__start, fact_427_exp_Osimps_I93_J, fact_198_converse__rtrancl__induct2, fact_965_list__all2__map1, fact_569_red__reds_ORedCastNull, fact_237_Block, fact_556_WTrt_H__WTrts_H_Ointros_I22_J, fact_273_Red__dom__lcl, fact_440_exp_Osimps_I212_J, fact_514_WTrtFAss, fact_705_widen__Class, fact_337_red__reds_ORedFAcc, fact_254_bex__Un, fact_177_rtrancl__subset, tsy_c_Objects_Ohext_res, arity_Nat_Onat___Lattices_Osemilattice__sup, fact_674_exp_Osimps_I62_J, fact_792_same__append__eq, tsy_c_BigStep_Ofinals_res, help_ti_idem, fact_463_eval__evals_OBinOpThrow2, fact_848_not__Cons__self2, fact_518_red__reds_ORedCast, help_fequal_1_1_T, fact_751_exp_Osimps_I16_J, fact_549_wt_H__iff__wt, tsy_c_Objects_Onew__Addr_res, fact_99_hext__upd__obj, fact_503_exp_Osimps_I69_J, fact_631_exp_Osimps_I178_J, fact_292_restrict__map__def, tsy_c_TypeRel_Omethod_res, fact_289_exp_Osimps_I78_J, fact_867_not__finals__ConsI, fact_618_preallocated__dom, fact_533_typeof__conf, fact_598_rtranclp__rtrancl__eq, fact_566_CastNull, fact_586_Class__widen, fact_731_class__Object, fact_761_exp_Osimps_I25_J, fact_605_ty_Osimps_I8_J, fact_80_red__reds_OSeqRed, fact_150_empty__map__add, fact_614_val_Osimps_I6_J, fact_301_rtrancl__Un__subset, fact_43_red__preserves__defass, fact_308_sup__commute, fact_890_map__eq__conv, fact_40_sconf__def, fact_887_set__append, fact_615_val_Osimps_I7_J, tsy_c_TypeRel_OMethods_res, fact_953_WTrts__same__length, fact_365_exp_Osimps_I211_J, fact_111_exp_Osimps_I3_J, tsy_c_fequal_res, fact_146_redp__redsp_OBlockRedNone, fact_346_exp_Osimps_I167_J, fact_884_field__def2, fact_218_le__funE, fact_914_Method__def, fact_644_exp_Osimps_I220_J, fact_294_exp_Osimps_I138_J, fact_229_predicate2D, fact_76_mem__def, fact_209_order__antisym, fact_950_map__upds__twist, fact_6_map__upd__eqD1, fact_983_blocksRedsFinal, fact_318_red__reds_OFAssRed2, arity_Nat_Onat___Orderings_Oord, fact_520_final__addrE, tsy_c_WellForm_Owf__cdecl_res, fact_208_order__trans, tsy_c_Conform_Oconf_res, fact_918_sees__methods__decl__mono, fact_929_r__into__trancl_H, fact_38_widen__trans, fact_341_rtrancl__Un__separator__converseE, tsy_v_P_res, tsy_c_TypeRel_Ohas__field_res, tsy_v_ea_____res, fact_982_tranclD, tsy_c_Objects_Oobj__ty_res, fact_439_exp_Osimps_I152_J, fact_165_Red__lcl__add, fact_281_le__supE, fact_849_list_Oinject, fact_815_exp_Osimps_I56_J, fact_138_option_Osimps_I2_J, fact_726_subcls1p_Ointros, fact_15_Pair__inject, fact_362_exp_Osimps_I150_J, tsy_c_List_Odistinct_res, fact_432_exp_Osimps_I224_J, fact_539_binop_Osimps_I6_J, fact_820_exp_Osimps_I170_J, fact_782_sees__field__idemp, fact_553_WTrt_H__WTrts_H_Ointros_I8_J, fact_243_UnE, fact_932_impossible__Cons, fact_411_finalE, tsy_c_Expr_Ofvs_res, fact_852_eval__evals_OCons, fact_744_exp_Osimps_I40_J, fact_97_mem__splitI, fact_829_red__reds_OCallObj, fact_709_ty_Osimps_I7_J, fact_513_widen__subcls, fact_722_refTE, fact_87_splitE, fact_224_rtranclE, fact_727_class__wf, fact_919_CallRedsFinal, fact_559_FAccRedsNull, fact_93_cond__split__eta, fact_422_exp_Osimps_I115_J, fact_489_exp_Osimps_I66_J, fact_693_redp__redsp_ORedCondT, fact_968_widens__Cons, tsy_c_TypeSafe__Mirabelle__gbqmebzphd_Osconf_res, fact_564_val_Osimps_I16_J, fact_108_exp_Osimps_I143_J, fact_171_BlockRedsFinal, fact_372_exp_Osimps_I160_J, fact_351_eval__evals_OFAccThrow, tsy_c_Expr_Oexp_OCast_res, fact_801_exp_Osimps_I188_J, fact_700_redp__redsp_ORedWhile, fact_859_CallParamsThrow, fact_687_fv__fvs_Osimps_I12_J, fact_402_red__reds_OFAssThrow2, help_fdisj_2_1_U, fact_42_curry__def, fact_278_sup__apply, help_COMBK_1_1_U, fact_838_evals__hext, fact_11_prod__cases5, fact_145_domIff, fact_493_exp_Osimps_I50_J, fact_339_FAcc, fact_660_red__reds_ORedWhile, fact_125_hconf__upd__obj, fact_473_BinOp2Reds, fact_101_hext__objD, fact_363_exp_Osimps_I210_J, fact_790_append__assoc, fact_453_exp_Osimps_I168_J, fact_869_map__eq__Cons__conv, fact_964_list__all2__map2, fact_683_exp_Osimps_I207_J, tsy_c_Exceptions_OClassCast_res, fact_609_sys__xcpts__cases, fact_31_red__preserves__sconf, fact_762_exp_Osimps_I38_J, fact_343_sup2CI, fact_216_order__eq__iff, tsy_c_Exceptions_Opreallocated_res, fact_388_red__reds_OThrowThrow, tsy_c_Expr_Oexp_Othrow_res, fact_423_exp_Osimps_I4_J, fact_409_eval__cases_I4_J, fact_655_WhileRedsThrow, fact_946_subcls__asym, fact_277_eval__restrict__lcl, fact_48_lconf__upd2, tsy_c_Exceptions_Oaddr__of__sys__xcpt_res, tsy_c_Expr_Oexp_OFAcc_res, fact_878_redsp__reds__eq, fact_505__092_060D_062___092_060D_062s_Osimps_I2_J, fact_527_red__reds_ORedBinOp, fact_288_redp__redsp_OFAssRed1, fact_270_fv__fvs_Osimps_I11_J, fact_999_fun__upd__comp, fact_5_map__upd__triv, fact_537_typeof__h_Osimps_I1_J, fact_359_exp_Osimps_I90_J, fact_401_FAccReds, fact_905_sees__method__idemp, fact_67_red__reds_ORedSeq, fact_943_trancl__into__trancl2, fact_195_rtrancl__trans, fact_394_final__def, fact_812_exp_Osimps_I156_J, fact_789_bop_Orecs_I1_J, fact_872_WTrtCons, fact_835_extend__1__evals, fact_55_split__weak__cong, fact_584_non__npD, fact_34_prod_Oexhaust, fact_822_exp_Osimps_I187_J, help_COMBC_1_1_U, fact_323_red__reds_ORedFAss, fact_756_exp_Osimps_I29_J, fact_172_oconf__fupd, fact_868_finals__def, fact_747_exp_Osimps_I42_J, fact_391_eval__evals_OFAssThrow2, fact_963_list__all2__Cons, fact_931_map__eq__imp__length__eq, fact_303_red__reds_OFAssRed1, fact_467_red__reds_OBinOpThrow1, fact_703_subcls1__induct, fact_939_trancl__rtrancl__trancl, fact_399_red__reds_OFAssThrow1, tsy_c_Progress_OWTrts_H_res, fact_775_New, fact_753_exp_Osimps_I20_J, fact_178_rtrancl__subset__rtrancl, fact_142_redp__redsp_OLAssRed, fact_295_exp_Osimps_I174_J, fact_558_start__heap__def, help_fequal_2_1_T, fact_384_eval__evals_OFAssThrow1, fact_594_rtranclp__trans, fact_809_redp__redsp_OCallObj, fact_441_exp_Osimps_I97_J, fact_909_sees__wf__mdecl, fact_984_override__on__def, fact_116_exp_Osimps_I74_J, fact_913_map__cong, fact_793_append__same__eq, fact_285_exp_Osimps_I8_J, fact_500_exp_Osimps_I46_J, fact_526_red__reds_ORedCastFail, fact_490_exp_Osimps_I67_J, fact_345_sup2I2, tsy_c_Expr_Obop_OEq_res, fact_117_exp_Osimps_I85_J, fact_993_map__map, fact_354_redp__redsp_OThrowRed, fact_56_map__add__dom__app__simps_I3_J, fact_284_restrict__in, fact_806_exp_Osimps_I192_J, fact_425_redp__redsp_OBinOpRed1, fact_194_rtrancl_Ortrancl__into__rtrancl, fact_702_CondReds2F, fact_502_exp_Osimps_I52_J, fact_892_The__split__eq, fact_147_map__add__None, fact_24_fun__upd__upd, fact_140_not__Some__eq, fact_307_inf__sup__aci_I5_J, fact_797_red__reds_ORedCallNull, fact_240_eval__hext, fact_333_sup__absorb1, fact_491_exp_Osimps_I61_J, fact_930_length__map, fact_466_red__reds_OBinOpRed2, fact_213_ord__eq__le__trans, fact_264_subset__Un__eq, fact_642_exp_Osimps_I13_J, fact_716_conf__Null, fact_462_red__reds_OBinOpRed1, fact_260_sup1I1, fact_193_converse__rtrancl__into__rtrancl, fact_607_WTrt_H__WTrts_H_Ointros_I2_J, fact_650_bop_Osimps_I1_J, fact_653_WhileBodyThrow, fact_21_fun__upd__twist, tsy_c_Exceptions_Ostart__heap_res, fact_974_confs__widens, fact_358_exp_Osimps_I91_J, fact_523_BinOp, fact_928_neq__if__length__neq, fact_706_widen__null, fact_348_exp_Osimps_I14_J, fact_577_redp__redsp_ORedFAssNull, fact_550_WTrt_H__WTrts_H_Ointros_I21_J, fact_917_sees__methods__idemp, fact_155_map__add__SomeD, fact_906_sees__method__is__class, fact_508_WTrtFAcc, fact_720_widen_Osimps, help_fconj_1_1_U, fact_445_exp_Osimps_I182_J, fact_344_sup2I1, fact_290_exp_Osimps_I79_J, fact_856_list__eval__Throw, fact_238_eval__lcl__incr, fact_160_SeqReds2, tsy_c_Expr_Ofv_res, fact_457_redp__redsp_OBinOpThrow1, fact_885_field__def, tsy_c_TypeRel_Osees__field_res, fact_842_CallRedsParams, tsy_c_Option_Ooption_Ooption__case_res, fact_28_red__preserves__lconf, fact_610_binop_Osimps_I9_J, help_fdisj_3_1_U, tsy_c_Exceptions_ONullPointer_res, tsy_c_Option_Othe_res, fact_724_wf__fdecl__def, fact_710_ty_Osimps_I6_J, fact_941_trancl__trans, fact_839_reds__hext__incr, fact_190_rtrancl__idemp, fact_149_map__add__empty, fact_100_hext__trans, fact_757_exp_Osimps_I28_J, fact_447_exp_Osimps_I205_J, fact_580_ThrowRedsNull, fact_459_redp__redsp_ORedTry, fact_666_exp_Osimps_I216_J, tsy_c_WWellForm_Owwf__J__mdecl_res, fact_176_rtrancl__mono, fact_133_oconf__upd__obj, fact_32_prod_Orecs, fact_495_exp_Osimps_I55_J, fact_1_InitBlockRed_I1_J, fact_602_subcls1p__subcls1__eq, fact_592_rtranclp__reflcl, fact_51_splitI, tsy_c_Type_Oty_ONT_res, fact_692_redp__redsp_ORedCondF, fact_396_ThrowRedsThrow, fact_837_bigs__by__smalls, fact_102_hext__def, tsy_c_Objects_Otypeof__h_res, fact_29_prod__cases3, fact_164_red__reds_OBlockRedNone, fact_421_exp_Osimps_I114_J, fact_825_exp_Osimps_I141_J, fact_83_map__add__upd, fact_813_exp_Osimps_I157_J, help_fFalse_1_1_U, fact_947_subcls__irrefl, fact_275_eval__finalId, fact_105_mem__splitE, tsy_c_SmallStep_Oblocks_res, fact_738_exp_Osimps_I36_J, fact_621_preallocatedD, fact_652_WhileT, fact_743_exp_Osimps_I41_J, fact_715_WTrtFAssNT, fact_248_Un__def, arity_Nat_Onat___Orderings_Oorder, fact_511_CastReds, tsy_c_Expr_Obop_OAdd_res, fact_777_blank__def, fact_924_fun__upds__append2__drop, tsy_c_TypeRel_Osubcls1_res, fact_314_sup__left__commute, tsy_c_Expr_Oexp_OCall_res, fact_888_set__ConsD, fact_521_BinOpRedsVal, fact_952_redp__redsp_ORedCall, tsy_c_Exceptions_Osys__xcpts_res, fact_77_Collect__def, fact_120_exp_Osimps_I83_J, fact_266_Un__absorb2, fact_860_red__reds_OCallThrowParams, fact_139_option_Osimps_I3_J, arity_HOL_Obool___Lattices_Olattice, fact_136_predicate1D, tsy_c_Exceptions_OOutOfMemory_res, tsy_c_WellForm_Owf__mdecl_res, fact_768_WTrt_H__WTrts_H_Ointros_I1_J, tsy_c_COMBI_res, fact_955_blocksEval, fact_933_trancl__mono, fact_109_exp_Osimps_I196_J, fact_458_Try, fact_684_exp_Osimps_I147_J, tsy_c_List_Oset_res, fact_730_subcls1p_Osimps, fact_299_restrict__map__empty, fact_252_Un__iff, fact_317_sup__assoc, fact_395_ThrowReds, fact_582_finalRefE, fact_261_sup1I2, fact_103_mem__splitI2, fact_785_has__fields__rec, fact_271_eval__cases_I2_J, fact_211_ord__le__eq__trans, fact_834_CallNull, fact_532_WTrtVal, fact_186_set__mp, fact_536_conf__def, fact_524_redp__redsp_ORedBinOp, fact_729_subcls1_Osimps, fact_966_sees__method__mono2, fact_814_exp_Osimps_I57_J, fact_973_wts__wts_H, fact_925_fun__upds__append__drop, fact_481_preallocated__upd__obj, fact_342_sup2E, fact_718_typeof__h_Osimps_I2_J, tsy_c_Transitive__Closure_Ortranclp_res, fact_870_Cons__eq__map__conv, fact_938_rtrancl__into__trancl1, fact_593_rtranclp__sup__rtranclp, fact_222_wf__mdecl__wwf__mdecl, fact_41_red__hext__incr, fact_714_is__refT__def, fact_326_inf__sup__ord_I4_J, fact_588_r__into__rtranclp, fact_205_linorder__le__cases, fact_927_rtrancl__trancl__absorb, tsy_c_State_Ohp_res, fact_601_redp__redsp_ORedCastFail, fact_329_le__sup__iff, fact_776_wf__Fields__Ex, fact_629_exp_Osimps_I208_J, arity_fun___Lattices_Osemilattice__sup, fact_899_is__type__pTs, fact_332_sup__absorb2, fact_69_red__reds_ORedBlock, fact_975_WTrt_H__WTrts_H_Ointros_I13_J, fact_49_in__lex__prod, fact_470_TryReds, fact_830_red__reds_OCallThrowObj, fact_904_sees__method__fun, fact_583_eval__cases_I12_J, fact_507_redp__redsp_OCastThrow, fact_58_map__add__assoc, fact_291_restrict__out, fact_636_exp_Osimps_I64_J, tsy_v_ha_____res, fact_945_subcls1__wfD, fact_241_Seq, fact_75_ext, tsy_c_BigStep_Ofinal_res, tsy_c_Option_Ooption_OSome_res, fact_544_WTrt_H__WTrts_H_Ointros_I16_J, fact_267_Un__least, fact_54_map__add__dom__app__simps_I1_J, fact_250_Un__left__absorb, fact_501_exp_Osimps_I53_J, fact_217_linorder__linear, fact_485_redp__redsp_OCastRed, fact_370_red__reds_OFAccThrow, tsy_c_Expr_Oexp_OTryCatch_res, fact_989_subcls__induct, fact_871_reds__preserves__sconf, fact_364_exp_Osimps_I151_J, fact_322_redp__redsp_ORedFAss, tsy_c_TypeRel_OMethod_res, fact_183_equalityD2, fact_643_exp_Osimps_I221_J, tsy_c_Product__Type_Oprod_Oprod__case_res, tsy_v_T_____res, fact_166_WTrt__elim__cases_I1_J, fact_461_has__field__mono, fact_695_CondReds, fact_988_blocksReds, fact_316_inf__sup__aci_I6_J, fact_302_fv__fvs_Osimps_I8_J, fact_787_bop_Osimps_I4_J, fact_962_widens__trans, fact_494_exp_Osimps_I51_J, fact_249_Un__commute, fact_367_exp_Osimps_I180_J, fact_257_UnI2, fact_319_FAssReds1, fact_135_rev__predicate1D, tsy_c_fdisj_res, fact_554_WTrt_H__WTrts_H_Ointros_I17_J, fact_210_xt1_I4_J, fact_969_WTrt_H__WTrts_H_Ointros_I12_J, fact_223_Red__fv, fact_562_val_Osimps_I5_J, fact_334_le__supI, fact_390_Throw, fact_426_redp__redsp_OTryRed, fact_353_redp__redsp_OThrowThrow, fact_79_red__reds_OLAssRed, fact_456_redp__redsp_OBinOpRed2, tsy_c_Expr_Obinop_res, tsy_c_SmallStep_Oredsp_res, fact_65_splitD, fact_595_rtranclp_Ortrancl__into__rtrancl, fact_162_hconfD, fact_175_subsetD, tsy_c_Type_OObject_res, fact_124_exp_Osimps_I197_J, fact_442_exp_Osimps_I107_J, fact_847_not__Cons__self, fact_92_hext__refl, fact_45_curryI, fact_259_sup__Un__eq, fact_309_sup_Oleft__idem, fact_912_map__idI, fact_850_fv__fvs_Osimps_I17_J, tsy_c_Fun_Ocomp_res, fact_816_exp_Osimps_I102_J, fact_287_rtrancl__Un__rtrancl, tsy_c_TypeRel_OFields_res, fact_936_rtrancl__into__trancl2, fact_589_rtranclp_Ortrancl__refl, fact_251_Un__left__commute, tsy_c_Conform_Olconf_res, fact_760_exp_Osimps_I35_J, fact_864_evals__cases_I2_J, fact_799_exp_Osimps_I30_J, fact_995_o__eq__dest, fact_685_eval__evals_OCondThrow, tsy_c_Nat_Osize__class_Osize_res, fact_894_has__fields__types, fact_14_InitBlockRed_I4_J, tsy_c_fTrue_res, tsy_c_Progress_OWTrt_H_res, tsy_v_l_Ha_____res, fact_951_red__reds_ORedCall, fact_606_ty_Oinject, fact_516_preallocated__hext, fact_201_option_Oexhaust, fact_297_exp_Osimps_I173_J, tsy_c_List_Olist__all2_res, fact_996_o__apply, tsy_c_Value_Oval_OBool_res, fact_174_equalityI, fact_327_sup__ge2, fact_689_CondF, fact_987_distinct_Osimps_I2_J, fact_94_domD, fact_280_FAssRedsVal
% 188.74/152.41  % No. of inferences in proof: 2370
% 188.74/152.41  % SZS status Theorem for /export/starexec/sandbox2/benchmark/theBenchmark.p : 151834 ms resp. 149983 ms w/o parsing
% 205.05/160.06  % SZS output start Refutation for /export/starexec/sandbox2/benchmark/theBenchmark.p
% See solution above
% 205.14/160.15  % [INFO] 	 Killing All external provers ... 
%------------------------------------------------------------------------------